JPA Hibernate 可嵌入类MetaModel生成时遗漏关联字段问题
解答
你本身的实体映射代码没有逻辑错误,该问题是Hibernate 5.4版本中已知的元模型生成缺陷:当反向@OneToOne关联指向嵌套在其他实体中的可嵌入类属性时,元模型处理器会遗漏该反向关联的字段生成。
可通过以下三种方式解决:
- 升级Hibernate版本:将你当前使用的5.4.15.Final版本升级到5.6.x及以上的稳定版本(如5.6.15.Final),该版本已修复相关缺陷,升级后元模型会自动生成需要的
entityB字段。 - 手动补充元模型字段:如果无法升级Hibernate版本,可在
EmbeddableEntity_类所在包下新建同名自定义元模型类,删除@Generated注解后手动补充需要的字段,JPA运行时会正常识别手动添加的元模型内容,不会和自动生成逻辑冲突。 - 调整关联映射:将
EntityA中的entityB反向关联直接迁移到EmbeddableEntity类中,调整映射逻辑后也可以正常生成对应元模型字段,但该方案改动较大,非必要不推荐。
内容的提问来源于stack exchange,提问作者devsaleh
相关产品推荐
相关产品推荐

