我想使用 DbUnit 来测试 JPA/Hibernate Dao,但由于 DbUnit XML 文件包含我的实体的硬编码 ID,因此在测试由 Hibernate 完成的插入时我遇到了问题。
您是否知道在从 XML 文件插入数据时会使用在我的实体上定义的 PK 生成器的任何 DbUnit 扩展或解决方案?甚至使用 Hibernate 本身插入数据?
其他策略 ?
研究成果
最佳答案
对于测试数据中的硬编码 ID,您可以使用负 ID 或非常高的 ID,例如从 Integer.MAX_VALUE
开始倒数。
您还可以使用自定义 ID 生成器。但是,这将需要在构建时替换被测实体的注释。您可以找到更多详细信息 here
关于hibernate - 如何避免与 DbUnit 插入的 ID 和 Hibernate 插入的实体发生冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569381/