在本文档中(向下滚动到"单向"部分):
它表示与连接表的单向一对多关联比仅在自有实体中使用外键列更受欢迎.我的问题是,为什么它更受欢迎?
在Hibernate在线文档中,在第7.2.3节"一对多"中,提到了:
外键上的单向一对多关联是一种不常见的情况,不建议这样做.您应该使用连接表进行此类关联.
我想知道为什么?我唯一想到的是,它可以在级联删除期间产生问题.例如,Person指的是外键上一对多关系的地址,该地址将拒绝在该人之前删除.
任何人都可以解释推荐背后的理性吗?
以下是参考文件内容的链接:7.2.3.一到多
我在这里复制粘贴了实际内容:
外键上的单向一对多关联是一种不寻常的情况,不建议这样做.
Run Code Online (Sandbox Code Playgroud)<class name="Person"> <id name="id" column="personId"> <generator class="native"/> </id> <set name="addresses"> <key column="personId" not-null="true"/> <one-to-many class="Address"/> </set> </class> <class name="Address"> <id name="id" column="addressId"> <generator class="native"/> </id> </class>
Run Code Online (Sandbox Code Playgroud)create table Person (personId bigint not null primary key) create table Address (addressId bigint not null primary key, personId bigint not null)您应该使用连接表进行此类关联.