我在使用dbUnit的org.dbunit.dataset.NoPrimaryKeyException
时遇到了困难。我有一个课程,比如A
,它有Set<B>
属性,其中B
是enum
。我使用Hibernate的hbm2ddl
工具生成我的数据库模式,然后使用dbUnit
填充我的数据库,以便进行DAO单元测试。
我正在尝试使用dbUnit xml填充我的数据库,但是当dbUnit尝试删除我为表org.dbunit.dataset.NoPrimaryKeyException
定义的条目时(我已经自动),我得到A_B
由Hibernate生成)
我已经看过以下问题提出的解决方案: Using DbUnit with tables which do not have primary keys,但这需要我:
id
作为主键(我已经定义了主键,不一定是数字);或accept
方法中哪些类使用哪些主键。有没有办法可以指定应该使用默认主键,除非没有,在这种情况下我们应该使用表中的所有列?
(顺便说一句,我使用Hibernate和JPA注释使用与http://appfuse.org/display/APF/Java+5+Enums+Persistence+with+Hibernate中描述的方法类似的方法来保持枚举