org.hibernate.MappingException:来自表X的关联引用了未映射的类

时间:2019-04-11 12:08:00

标签: java hibernate hibernate-tools

我从休眠工具生成实体时遇到问题。

我正在尝试生成4个表的实体,pru1pru2在关联表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

在休眠工具的配置中,我检查了所有选项,包括检测多对多表

是否可以使用休眠工具进行这种类型的映射?

预先感谢

1 个答案:

答案 0 :(得分:0)

我以非常优雅的方式解决了我的问题。

由于具有来自解决N:N基数的表的关系,因此必须创建此实体。

本来可以取消选中“检测多对多表”选项,但是我还有其他N:N关系表,这些表我不想生成。

我选择的解决方案是在我的PRU3表中创建一个附加字段,以强制休眠工具生成实体。

稍后,我已经删除了BBDD和实体中的字段。

我确信可以自动使用reveng.xml或实施策略来完成这种类型的映射,但这将比我花费更多的时间。