Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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/2/spring/13.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
Java 托管实体中的脏字段列表_Java_Spring_Hibernate_Jpa - Fatal编程技术网

Java 托管实体中的脏字段列表

Java 托管实体中的脏字段列表,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,如何从托管实体获取脏字段列表?我知道当我使用hibernate事件时,我可以做这样的事情 public boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState,

如何从托管实体获取脏字段列表?我知道当我使用hibernate事件时,我可以做这样的事情

public boolean onFlushDirty(Object entity,
                            Serializable id,
                            Object[] currentState,
                            Object[] previousState,
                            String[] propertyNames,
                            Type[] types)

但是我希望在我的实体上没有任何特殊的持久性操作。将一个字段一个字段地与原始对象进行比较也是个坏主意。

检查此链接@我查过了,但什么也没找到。用户建议使用需要执行持久性操作的事件,但我认为这是一种糟糕的设计。我在找更优雅的东西。第二个解决方案是使用envers,与我想要实现的相比,这会带来很大的开销。无论如何,谢谢你的回答,我以前不知道关于会话范围事件:)但是检查/控制生命周期和状态的拦截器有什么不好的呢?不客气!;-)如果我错了,请纠正我。当您创建拦截器时,它将应用于所有实体的所有持久性操作,而不仅仅是我想要的单个实体。第二件事,我必须做一个持久性操作来调用我的一个拦截器方法(例如flush)。我不想。如果我的代码是透明的,那就更好了。