Java 为什么Hibernate在父级更新时执行多个查询来更新子级?

Java 为什么Hibernate在父级更新时执行多个查询来更新子级?,java,spring,hibernate,Java,Spring,Hibernate,我与inverse=“false”和cascade=“all”有多对一的关系。当我更新父对象时,有一个针对该父对象的更新查询和多个更新查询—一个针对子对象集合中的每个子对象 你能告诉我为什么会有这些针对儿童的问题吗?我怎样才能避免它们呢 要防止Hibernate更新子实体,应更改级联类型,删除cascade=all要防止Hibernate更新子实体,应更改级联类型,删除cascade=all如果您有cascade=“all”这意味着父实体上的每个操作都将调用子实体上的相同操作。因此,如果不想从关

我与
inverse=“false”
cascade=“all”
有多对一的关系。当我更新父对象时,有一个针对该父对象的更新查询和多个更新查询—一个针对子对象集合中的每个子对象


你能告诉我为什么会有这些针对儿童的问题吗?我怎样才能避免它们呢

要防止
Hibernate
更新子实体,应更改级联类型,删除
cascade=all
要防止
Hibernate
更新子实体,应更改级联类型,删除
cascade=all
如果您有cascade=“all”这意味着父实体上的每个操作都将调用子实体上的相同操作。因此,如果不想从关联中级联子实体上的操作,则必须删除cascade=all

但您应该小心使用该配置,因为如果您没有级联持久化(例如),即使定期创建子实体,也不会持久化创建的子实体,但您必须显式地对每个子实体调用save

如果您有cascade=“all”,则可以阅读有关级联类型的更多信息,这意味着父实体上的每个操作都将调用子实体上的相同操作。因此,如果不想从关联中级联子实体上的操作,则必须删除cascade=all

但您应该小心使用该配置,因为如果您没有级联持久化(例如),即使定期创建子实体,也不会持久化创建的子实体,但您必须显式地对每个子实体调用save

您可以阅读有关级联类型的更多信息