gpt4 book ai didi

java - 我怎样才能设法建立多对多关系。生成的实体将具有额外的属性。

转载 作者:行者123 更新时间:2023-11-29 06:18:28 24 4
gpt4 key购买 nike

我有 2 个实体:类(class)(学生)和学生。一个学生可以在很多类(class)(比如在大学),一个类(class)有很多学生。问题是如何确保在中间生成的这个实体有 2 个主键,即每个其他实体(学生和类(class))的 ID。我需要知道如何使用注释创建它。我在项目中使用了 EJB3 和 JPA Annotations。

最佳答案

首先,您不需要中间实体。您有两个实体和它们之间的连接表。

只有当您有关于关系的附加信息时,您才需要一个中间实体 - 例如 StudentClass 可能有 timesAbsent 列。

如果你真的需要第三个实体,你可以:

  1. 一个@EmbeddedId ,您可以在其中定义一个单独的类来保存主键的两个部分。该类必须是@Embeddable
  2. 一个@IdClass这将使您指定两个 @Id 字段。您将再次需要另一个类来保存表示 key 的两个字段。

See this question选择哪个选项。

请注意,您因此拥有一个复合主键,而不是两个主键(您不能拥有)

关于java - 我怎样才能设法建立多对多关系。生成的实体将具有额外的属性。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com