Hibernate 休眠注释不必要的删除和插入

Hibernate 休眠注释不必要的删除和插入,hibernate,annotations,Hibernate,Annotations,我有一个a班有一套B班。a班和B班有自己的桌子。 当我插入类A时,它也会插入类B。当我更新类B时,Hibernate会删除属于A实例的类B中的所有内容,然后插入当前集合B中的所有值。我希望,如果集合B中只添加了2个新值,那么它只插入这2个值,而保留其余值。我尝试保存或更新,但它不起作用 Hibernate通常在添加项之前清除集合,或者用新实例替换集合时表现为这样。在这两种情况下,它都会删除一条sql语句中的项。当列表从头开始构建时,它基本上是一种优化 确保只删除不再需要的项目。并接受答案。你在s

我有一个a班有一套B班。a班和B班有自己的桌子。
当我插入类A时,它也会插入类B。当我更新类B时,Hibernate会删除属于A实例的类B中的所有内容,然后插入当前集合B中的所有值。我希望,如果集合B中只添加了2个新值,那么它只插入这2个值,而保留其余值。我尝试保存或更新,但它不起作用

Hibernate通常在添加项之前清除集合,或者用新实例替换集合时表现为这样。在这两种情况下,它都会删除一条sql语句中的项。当列表从头开始构建时,它基本上是一种优化


确保只删除不再需要的项目。

并接受答案。你在stackoverflow上问了七个问题,只接受了一个。如果您不接受,人们将不会回答您的问题。目前,我正在从数据库中获取类别A,然后将新的A值与以前的A值进行比较。我通过比较旧集合和新集合,在代码中添加、删除B中的条目。但是为每一个集合编写代码是痛苦的。因此,我正在寻找另一种解决方案,用一些基于集合的工具编写一个助手类。