gpt4 book ai didi

java - Hibernate 双向列表关联

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:16 25 4
gpt4 key购买 nike

我确信一定有成千上万的例子可以证明这种关联,但我似乎无法在任何地方找到一个。

我有一个来自父子的一对多关系和一个来自子父的多对关系:

class Parent {
private Long id;
private String name;
private List<Child> children;
}

class Child {
private Long id;
private String name;
private Parent parent;
}

我希望最终得到如下所示的 2 个表:

Parent
- id : bigint
- name : varchar

Child
- id : bigint
- parent_id : bigint
- sequence : bigint
- name : varchar

我的想法正确吗?如果是这样,有人知道我需要在我的映射文件中放入什么,以便在删除父项时也删除它的子项。

提前致谢。

詹姆斯

最佳答案

最终找到了解决方案,虽然我不明白为什么我需要 insert="false"update="false":

<hibernate-mapping>
<class name="foo.Parent" table="Parent">
<id name="id" type="int" column="id">
<generator class="native" />
</id>
<property name="name" type="java.lang.String" column="name" length="50" />
<list name="children" cascade="all">
<key column="parent_id" />
<index column="sequence" />
<one-to-many class="foo.Child" />
</list>
</class>

<class name="foo.Child" table="Child">
<id name="id" type="int" column="id">
<generator class="native" />
</id>
<property name="name" type="java.lang.String" column="name" length="50" />
<many-to-one name="parent" class="foo.Parent" column="parent_id" insert="false" update="false" />
</class>
</hibernate-mapping>

关于java - Hibernate 双向列表关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3874782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com