gpt4 book ai didi

mysql - Hibernate 更新 OneToMany

转载 作者:行者123 更新时间:2023-11-30 23:34:29 24 4
gpt4 key购买 nike

在 Hibernate 中,我有两个实体类。

A 类和 B 类。

A 类包含 B 类的列表。

    @Entity
class A{
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
List<B> list; // ArrayList
}

@Entity
class B{
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
}

将这样创建三个表,表 A、A_B 和 B。其中 A 包含任何实体 A,A_B 是关系表,B 是任何 B。我通过创建新 session 、beginTransaction、saveOrUpdate、提交和关闭 session 来保存/更新它们。

现在,问题是,每当我向列表添加新项目并更新 A 时,hibernate 都会删除整个 A_B 表,然后将所有内容与新项目一起插入。我实际上只是希望它向 A_B 添加 1 个新行,向 B 添加 1 个新行。


<property name="hbm2ddl.auto">update</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

剩下的就很标准了

最佳答案

请检查您的 hibernate 配置文件,因为您可以提供配置以在每次服务器重新启动时删除以前的表并创建新表。

关于mysql - Hibernate 更新 OneToMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8756027/

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