【问题标题】:org.hibernate.MappingException: An association from the table X refers to an unmapped classorg.hibernate.MappingException:来自表 X 的关联引用了未映射的类
【发布时间】:2019-04-11 12:07:59
【问题描述】:

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

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

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

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

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

org.hibernate.MappingException:来自表 PRU4 的关联引用了一个未映射的类:com.entities.Pru3 来自表 PRU4 的关联引用了一个未映射的类:com.entities.Pru3 org.hibernate.MappingException:来自表 PRU4 的关联引用了一个未映射的类:com.entities.Pru3 来自表 PRU4 的关联引用了一个未映射的类:com.entities.Pru3

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

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

提前致谢

【问题讨论】:

    标签: java hibernate hibernate-tools


    【解决方案1】:

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

    如果关系来自解决 N:N 基数的表,则有必要创建此实体。

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

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

    后来我删除了 BBDD 和实体中的字段。

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

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多