在该文献中(向下滚动到单向节):
http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping-association-collections
它说,有一个连接表单向的一对多关联,但最好只使用在拥有实体的外键列。 我的问题是,为什么会更喜欢?
在该文献中(向下滚动到单向节):
http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping-association-collections
它说,有一个连接表单向的一对多关联,但最好只使用在拥有实体的外键列。 我的问题是,为什么会更喜欢?
考虑这样的国有实体类型也由另一名家长实体类型所拥有的情况。 你把外键引用在拥有的表到两个父表? 如果你有三个父类型? 它只是不适合大规模的设计。
联接表解耦加入,使拥有的表没有父表(S)的知识,使设计能够完美地扩展。
如果孩子实体只有永远一个父类,那么就没有必要连接表。 我和JPA做到了这一点(有休眠implement执行)。
优点:少了一个表。 也许更好的性能。 没有“这是什么表?” 键入问题。
缺点:从面向对象的角度来看,引入儿童和家长之间的一个额外的依赖。 在实践中,这可能不是什么大不了的,因为关系是孩子专用。
e.g. parent: @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) @MapKey(name = "name") private Map children; child: @ManyToOne(optional = false) private Parent parent;