Java dbUnit—如何定义不存在主键的位置,以使用表的所有列
我对dbUnit的Java dbUnit—如何定义不存在主键的位置,以使用表的所有列,java,hibernate,dbunit,Java,Hibernate,Dbunit,我对dbUnit的org.dbUnit.dataset.NoPrimaryKeyException有困难。我有一个类,比如说a,它有一个Set属性,其中B是一个enum。我使用Hibernate的hbm2ddl工具生成数据库模式,然后使用dbUnit填充数据库,以便进行DAO单元测试 我试图使用dbUnit xml填充我的数据库,但是当dbUnit试图删除我为表a\u B定义的条目时,我得到了一个org.dbUnit.dataset.NoPrimaryKeyException(由Hibernat
org.dbUnit.dataset.NoPrimaryKeyException
有困难。我有一个类,比如说a
,它有一个Set
属性,其中B
是一个enum
。我使用Hibernate的hbm2ddl
工具生成数据库模式,然后使用dbUnit
填充数据库,以便进行DAO单元测试
我试图使用dbUnit xml填充我的数据库,但是当dbUnit试图删除我为表a\u B
定义的条目时,我得到了一个org.dbUnit.dataset.NoPrimaryKeyException
(由Hibernate自动生成)
我已经了解了针对以下问题提出的解决方案:
,但这要求我:
- 为每个类定义一个
作为主键(我已经定义了不一定是数字的主键);或id
- 在
方法中指定哪些主键用于哪些类accept
(顺便说一句,我使用Hibernate和JPA注释使用与中所述类似的方法来持久化枚举)感谢您的指导,但由于我使用的是枚举(表实际上是动态生成的-实际枚举本身没有对应的表),我不太确定我将如何实现这个解决方案?你能粘贴你的代码吗?帮助你会更容易。您是否使用@Enumerated?