【发布时间】:2012-01-24 05:05:52
【问题描述】:
尽管我的问题专门针对使用 Hibernate 的 Play 框架中描述实体关系的方式,但我确信这是一个一般概念。
当我们有一对多的关系时,我们总是被要求指定拥有方。
因此,例如,如果我们在 Person 和 PhoneNumber 之间有一对多的关系,我们会编写这样的代码。
@Entity
class Person {
@OneToMany(mappedBy="person")
public Set<PhoneNumber> phoneNumbers;
}
@Entity
class PhoneNumber {
@ManyToOne
public Person person;
}
在上面的代码中,拥有实体是 PhoneNumber。任何一方作为拥有实体的利弊是什么?
我意识到当拥有实体是PhoneNUMber时,表示的关系是ManyToOne,这不会导致连接表,而当拥有方是Person时,所描绘的关系将是OneToMany,在这种情况下,关系表将是已创建。
这是确定拥有方的主要原因,还是还有其他原因?
更新: 我刚刚意识到this thread 提供了部分答案,但我希望可能还有其他观点。
【问题讨论】:
标签: hibernate orm playframework many-to-one