如何避免与DbUnit插入的ID和Hibernate插入的实体发生冲突

时间:2013-03-22 11:36:30

标签: hibernate testing dbunit

我想使用DbUnit来测试JPA / Hibernate Dao,但由于DbUnit XML文件包含我的实体的硬编码ID,因此在测试Hibernate完成的插入时遇到问题。

您是否知道在从XML文件插入数据时使用我的实体上定义的PK生成器的任何DbUnit扩展或解决方案?甚至用Hibernate本身插入数据?

其他策略?

RGDS

1 个答案:

答案 0 :(得分:1)

对于测试数据中的硬编码ID,您可以使用负Ids或非常高的ID,例如从Integer.MAX_VALUE向下计数。

您还可以使用自定义ID生成器。但是,这需要替换构建时测试中的实体的注释。您可以找到更多详细信息here