org.hibernate.MappingException:来自 table X 的关联指的是未映射的 class

org.hibernate.MappingException: An association from the table X refers to an unmapped class

我在使用休眠工具生成实体时遇到问题。

我正在尝试生成 4 table 的实体,pru1pru2 在关联中具有多对多关系 table pru3. pru3 键作为外键传递给 pru4 table。

  pru1 ---> pru3 <---- pru2
              |
              |
              V 
            pru4

如果我没记错的话,实体pru1应该有一个pru2的列表,pru2一个pru1的列表和pru4一个对象pru1 和另一个 pru2.

当我 运行 休眠工具时,我摆脱了这个错误:

org.hibernate.MappingException: An association from the table PRU4 refers to an unmapped class: com.entities.Pru3 An association from the table PRU4 refers to an unmapped class: com.entities.Pru3 org.hibernate.MappingException: An association from the table PRU4 refers to an unmapped class: com.entities.Pru3 An association from the table PRU4 refers to an unmapped class: com.entities.Pru3

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

是否可以使用休眠工具进行此类映射?

提前致谢

我用一种非常不优雅的方式解决了我的问题。

具有来自解决 N:N 基数的 table 的关系,因此有必要创建此实体。

我本可以取消选中 "Detect many-to-many tables" 选项,但我还有其他 N:N 关系 table,我不想生成这些。

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

后来我把BBDD和实体里的字段都删掉了。

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