Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何根据perUpdate事件中的逻辑取消JPA更新操作?_Hibernate_Jpa_Orm_Entitylisteners - Fatal编程技术网

Hibernate 如何根据perUpdate事件中的逻辑取消JPA更新操作?

Hibernate 如何根据perUpdate事件中的逻辑取消JPA更新操作?,hibernate,jpa,orm,entitylisteners,Hibernate,Jpa,Orm,Entitylisteners,我需要根据@PreUpdate侦听器方法中的某些逻辑取消JPA合并操作,如: @PreUpdate public void onPreUpdate(BaseEntity entity) throws Exception { if (!entity.isModified()) { EntityManager entityManager = getEntityManager(); //cancel update operation on this entity

我需要根据
@PreUpdate
侦听器方法中的某些逻辑取消JPA合并操作,如:

@PreUpdate
public void onPreUpdate(BaseEntity entity) throws Exception {
    if (!entity.isModified()) {
        EntityManager entityManager = getEntityManager();
        //cancel update operation on this entity only 
        //and keep update to its children
    }
}

从更新操作中取消/排除此实体,并保持其他关联实体符合更新条件(即使用
CascadeType.MERGE

您可以在另一个实例中获取新的主实体,从preupdate参数复制要保留的更新内容,我的问题是我不想更新实体,除非它的直接属性真的被修改了。。。代码使用了大量的合并和级联合并