在休眠中对一对多关系进行建模的最佳方式



我是冬眠新手,根据下面的文章,似乎在大多数情况下映射关系的最佳方法是单向映射,除了子实体数量有限的 Q 和 A 应用程序等特殊情况。

链接-https://www.callicoder.com/hibernate-spring-boot-jpa-one-to-many-mapping-example/

这是对的吗??我想清除我的 dought 并开始我的 rationship 映射。

对于问答应用程序,我认为我们需要双向映射。对于给定的问题,您需要知道已经给出的答案。对于答案,您需要知道问题是什么。

@Entity
Class Answer {
 @Id
 @Column("answer_id")
 private Long answerId;
 @JoinColumn("question_id")
 @ManyToOne
 private Question question;
}
@Entity
class Question {
 @Id
 @Column("question_id")
 private Long id;
 @OneToMany(mappedBy = "question")
 private List<Answer> answers;
}

所以这里的拥有实体将是答案表示答案表将具有question_id问题表不会存储answer_id

单向或双向,这完全取决于您的要求。例如:- A 和 B 是两个实体: 1>A 与 B 有一一单向关系,这是您没有的场景 加载 B 时需要/想要加载 A。 2>如果你想在加载B时加载A,那么你将需要One-One bi- 方向映射。

最新更新