我正在尝试从数据库中测试批量读取数据。
我有一个实体,例如:
@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;
}
在对我的批次进行单元测试时,我将数据插入内存数据库,这要归功于在hibernate.hbm2ddl.import_files
上设置hibernate.hbm2ddl.auto
选项时使用create
选项读取的SQL脚本:
Insert into CLIENT(ID, START) values (1,'2006-02-01')
Insert into CLIENT(ID, START) values (2,'2010-02-01')
我可以在日志中看到表格已正确创建。然而,当我在代码中进一步检索CLIENT
时(可能通过一些连接),会引发异常:
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数据库时,代码运行完美!
我的代码出了什么问题?我怎样才能让它发挥作用?
感谢您的帮助!
答案 0 :(得分:0)
对我很羞耻。
错误来自于我的批处理的目标是从数据库A
读取数据并将数据写入数据库B
。
为了测试我的批处理,我设置了两个内存实例。但是错误的复制和粘贴使我创建了两次相同的实例...并且由于CLIENT
中有一个A
表,CLIENT
中有另一个B
表,检索数据时出错:其中一个表格未正确创建!
希望这可能有助于其他人!