首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPA:不带连接表的组合半共享主键的单向一对多关系

JPA:不带连接表的组合半共享主键的单向一对多关系
EN

Stack Overflow用户
提问于 2017-12-05 15:21:55
回答 1查看 1.2K关注 0票数 1

联合行动纲领:

如何在JPA中建立以下模型:

  • 单向一对多关系
  • 其中,拥有实体有一个单列应用程序确定的主键
  • 其中,子实体具有一个复合主键和
  • 其中,子主键的一部分是父键的主键
  • 避免JPA生成连接表。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-09 15:35:31

我自己想好了怎么做的。

  • 您需要在拥有实体中注释外键 @OneToMany( CascadeType.ALL =FetchType.EAGER,fetch = FetchType.EAGER) @JoinColumn(name = "myId",referencedColumnName = "parentId")私人列表childEntity;
  • 子实体中的主键部分也是引用拥有实体的外键,不能将其注释为外键,例如: @Id私有字符串parentId;
  • 通常关于复合主键的规则适用于子类(带有@Embeddable注释的主键类等)。
  • 正如用户DN1注释的那样,必须使用@JoinColumn注释,但必须在所属类中的外部引用中指定它。
  • 由于某些原因,您也不能使用@PrimaryKeyJoinColumn而不是@JoinColumn,否则JPA 生成连接表。

另一个挑战是拥有类的主体也是复合的,但我还没有尝试过。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47657075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档