1

我对 dbUnit 的org.dbunit.dataset.NoPrimaryKeyException. 我有一个类,比方说A,它有一个Set<B>属性,在B哪里enum。我使用 Hibernate 的hbm2ddl工具来生成我的数据库模式,然后使用它dbUnit来填充我的数据库,为 DAO 单元测试做好准备。

我正在尝试使用 dbUnit xml 填充我的数据库,但是org.dbunit.dataset.NoPrimaryKeyException当 dbUnit 尝试删除我为表定义的条目A_B(由 Hibernate 自动生成)时,我得到了一个

我已经查看了针对以下问题提出的解决方案: Using DbUnit with tables which do not have primary keys,但这需要我:

  • 为每个类定义id一个主键(我已经定义了不一定是数字的主键);或者
  • 准确指定方法中的哪些类使用哪些主键accept

有什么方法可以指定应该使用默认主键,除非没有,在这种情况下我们应该使用表中的所有列?

(顺便说一句,我使用与http://appfuse.org/display/APF/Java+5+Enums+Persistence+with+Hibernate中描述的方法类似的方法使用 Hibernate 和 JPA 注释来持久化枚举)

4

0 回答 0