2016-11-29 62 views
1

我有一个实体@ElementCollection里面,我也有Hibernate Interceptor拦截变化。休眠拦截器没有收到更改的元素集合

一旦我改变了实体的字段,拦截器可以正确拦截,但是一旦我只更改了@ElementCollection中的组件字段,拦截器就无法拦截它(实体本身和嵌入组件)。

我也试过调试onFlushDirty,onCollectionUpdate,onCollectionRecreate但没有运气。

回答

1

问题是有关默认的休眠脏检查休眠不正确执行PersistentSet,我必须手动检查肮脏通过重写findDirty方法并通过手动检查通过PersistentSet#isDirty