在Hibernate中建立一对多关系的最佳方法

时间:2019-05-30 04:40:29

标签: hibernate

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

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

这正确吗?我想清除我的记忆并开始我的关系映射。

2 个答案:

答案 0 :(得分:2)

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

@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

答案 1 :(得分:1)

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