我从休眠工具生成实体时遇到问题。
我正在尝试生成4个表的实体,pru1
和pru2
在关联表pru3
中具有多对多的关系。 pru3
键作为外键传递到pru4
表。
pru1 ---> pru3 <---- pru2
|
|
V
pru4
如果我没记错的话,实体pru1
应该有一个pru2
的列表,pru2
一个pru1
的列表和pru4
一个{的对象{1}}和另一个pru1
。
运行休眠工具时,我摆脱了这个错误:
org.hibernate.MappingException:表PRU4中的关联引用了未映射的类:com.entities.Pru3 表PRU4中的关联是指未映射的类:com.entities.Pru3 org.hibernate.MappingException:表PRU4中的关联引用了未映射的类:com.entities.Pru3 表PRU4中的关联是指未映射的类:com.entities.Pru3
在休眠工具的配置中,我检查了所有选项,包括检测多对多表
是否可以使用休眠工具进行这种类型的映射?
预先感谢
答案 0 :(得分:0)
我以非常优雅的方式解决了我的问题。
由于具有来自解决N:N基数的表的关系,因此必须创建此实体。
本来可以取消选中“检测多对多表”选项,但是我还有其他N:N关系表,这些表我不想生成。
我选择的解决方案是在我的PRU3表中创建一个附加字段,以强制休眠工具生成实体。
稍后,我已经删除了BBDD和实体中的字段。
我确信可以自动使用reveng.xml或实施策略来完成这种类型的映射,但这将比我花费更多的时间。