我有一个内置@ElementCollection
的实体,我也有Hibernate Interceptor拦截更改。
一旦我更改了实体的字段,拦截器就可以正常拦截,但是一旦我只更改@ElementCollection
内的组件字段,拦截器就无法拦截它(实体本身和嵌入式组件)。
我也尝试在onFlushDirty
,onCollectionUpdate
,onCollectionRecreate
进行调试,但没有运气。
答案 0 :(得分:1)
问题是关于hibernate的默认脏检查不能在PersistentSet上正确执行,我必须通过覆盖findDirty
方法手动检查脏,并通过PersistentSet#isDirty
手动检查。< / p>