You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hibernate3升级Hibernate5出现Association references an unmapped entity错误如何解决

问题根因
  • Hibernate 5 双向关联校验严格度远高于Hibernate 3,你当前配置的一对多集合未指定关联所有者,导致Hibernate无法匹配到已映射的UserRole实体关联
  • 报错提示里的「unmapped entity」属于Hibernate 5的误导性提示,实际是关联关系未绑定到对应实体的属性,并非UserRole本身没有注册映射
解决方案

仅需修改User.hbm.xml中的bag节点,添加mappedBy="user"属性指定该关联由UserRole实体的user属性维护即可,修改后的配置如下:

<bag name="roles" cascade = "all,delete-orphan" lazy="false" mappedBy="user">
     <key column="userId" not-null="true"/>
     <one-to-many class="com.app.server.model.user.UserRole"/>
</bag>
补充说明
  • 你之前尝试添加table="roles"、替换为set节点无效的原因:前者属于多对多/元素集合的配置项,不适用当前的一对多关联场景;后者和bag仅对应集合类型差异,不影响关联映射的匹配逻辑
  • 无需调整现有注解配置、无需修改User类的业务代码,仅修改上述hbm配置即可解决问题

内容的提问来源于stack exchange,提问作者tjholmes66

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:54:00