繁体   English   中英

Hibernate:@JoinColumn在单向和双向映射中的行为

[英]Hibernate : @JoinColumn behaviour in uni-directional and bi-directional mapping

我是Hibernate的新手,我正在尝试学习映射策略。 现在我能够实现单向和双向映射。我发现在uni-directional映射的情况下严格需要@JoinColumn ,但在bi-directional映射的情况下则不然。

为什么在uni-directional映射的情况下需要@JoinColumn@JoinTable ,但在bi-directional映射的情况下是可选的?

在双向映射的情况下,我不会说它是可选的。 它只是在拥有方指定,这意味着在自有端指定它是可选的和冗余的。 这也是不可取的,因为当连接列名称发生变化时,您必须在两个类中进行更改。

我做了一些测试,Hiberante会允许它......但是为什么要这样做呢。

由于单向映射仅配置了拥有方,并且您不希望从关系的另一侧加入这些实体,因此暗示:

@JoinColumn (适用于单向@ManyToOne)

要么

@JoinTable (适用于单向@OneToMany)

必须使用。

试着看看这篇文章: 例子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM