Hibernate 禁止保存更新侦听器并确定字段更改

Hibernate 禁止保存更新侦听器并确定字段更改,hibernate,Hibernate,你好 通过扩展org.Hibernate.event.def.DefaultSaveOrUpdateEventListener.DefaultSaveOrUpdateEventListener并覆盖SaveOrUpdate(SaveOrUpdateEventE),我实现了一个Hibernate保存更新侦听器 @凌驾 SaveOrUpdate(SaveOrUpdateEvent evt)上的公共void引发HibernateException{ 超级存储更新(evt); 对象实体=evt.getE

你好

通过扩展org.Hibernate.event.def.DefaultSaveOrUpdateEventListener.DefaultSaveOrUpdateEventListener并覆盖SaveOrUpdate(SaveOrUpdateEventE),我实现了一个Hibernate保存更新侦听器

@凌驾 SaveOrUpdate(SaveOrUpdateEvent evt)上的公共void引发HibernateException{ 超级存储更新(evt); 对象实体=evt.getEntity(); if(实体实例of标记){ 更新索引((标记)实体); } } 我的挑战是,如果标记实例中的某些字段已更改,我只希望执行updateIndex(((标记)实体)方法

是否有办法确定哪些字段导致保存或更新,以便我可以决定是否进行进一步处理


谢谢。

获取对象以获取旧值,然后将其与新值进行比较。

获取对象以获取旧值,然后将其与新值进行比较

@Override public void onSaveOrUpdate(SaveOrUpdateEvent evt) throws HibernateException { super.onSaveOrUpdate(evt); Object entity = evt.getEntity(); if (entity instanceof Tag) { updateIndex((Tag) entity); } }