0

我正在尝试测试从数据库中批量读取数据。

我有一个实体,例如:

@Entity
@Table(name = "CLIENT")
public class ClientEntity {
    @Id
    @Column(name = "ID")
    private Long id;

    @Column(name = "START", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date start;
}

当对我的批次进行单元测试时,我将数据插入到内存数据库中,这要归功于在选项设置为 onhibernate.hbm2ddl.import_files时使用该选项读取的 SQL 脚本:hibernate.hbm2ddl.autocreate

Insert into CLIENT(ID, START) values (1,'2006-02-01')
Insert into CLIENT(ID, START) values (2,'2010-02-01')

我可以在日志中看到该表已正确创建。然而,当CLIENT在我的代码中进一步检索 s 时(可能通过一些连接),会引发异常:

ERROR - Column "CLIENTENTI0_.START" not found; SQL statement:
    select cliententi0_.ID as ID1_10_, cliententi0_.START 
        as START2_10_ from CLIENT cliententi0_ [42122-165]

我必须补充一点,当插入现有的 Oracle 数据库时,代码运行完美!

我的代码有什么问题?我怎样才能让它工作?

谢谢你的帮助!

4

1 回答 1

0

好吧,我很惭愧。

错误来自这样一个事实,即我的批处理的目标是从数据库中读取数据A并将数据写入数据库B

为了测试我的批次,我设置了两个内存实例。但是一个错误的复制和粘贴让我创建了两次相同的实例......并且由于 有一个CLIENTA和另一个CLIENTB,检索数据时引发错误:其中一个表创建不正确!

希望这可以帮助别人!

于 2012-05-14T16:37:56.047 回答