Java 休眠更新事件与保存事件
我将Hibernate与Spring一起使用,我想知道如何使用save或update事件侦听器与save-update事件侦听器 我的配置如下所示:Java 休眠更新事件与保存事件,java,hibernate,Java,Hibernate,我将Hibernate与Spring一起使用,我想知道如何使用save或update事件侦听器与save-update事件侦听器 我的配置如下所示: <property name="eventListeners"> <map> <entry key="save-update"> <list> <bea
<property name="eventListeners">
<map>
<entry key="save-update">
<list>
<bean class="com.test.MyTestSaveOrUpdateEventListener" />
<bean class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener" />
</list>
</entry>
<entry key="save">
<list>
<bean class="org.hibernate.event.def.DefaultSaveEventListener" />
<bean class="com.test.MyTestSaveEventListener" />
</list>
</entry>
<entry key="update">
<list>
<bean class="org.hibernate.event.def.DefaultUpdateEventListener" />
<bean class="com.test.MyTestUpdateEventListener" />
</list>
</entry>
</map>
</property>
问题是只调用MyTestSaveOrUpdateEventListener bean
它真的是这样工作的吗:
<property name="eventListeners">
<map>
<entry key="save-update">
<list>
<bean class="com.test.MyTestSaveOrUpdateEventListener" />
<bean class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener" />
</list>
</entry>
<entry key="save">
<list>
<bean class="org.hibernate.event.def.DefaultSaveEventListener" />
<bean class="com.test.MyTestSaveEventListener" />
</list>
</entry>
<entry key="update">
<list>
<bean class="org.hibernate.event.def.DefaultUpdateEventListener" />
<bean class="com.test.MyTestUpdateEventListener" />
</list>
</entry>
</map>
</property>
- 使用“saveOrUpdate”生成保存更新事件
- 使用“save”生成save事件
提前感谢您猜测:何时调用
update()
?我的问题可能是,为什么不保存或更新生成更新事件?因为在这个项目中,我们不单独使用“更新”功能(我们只使用saveOrUpdate),但我们希望单独记录更新。然后为saveOrUpdate注册您的事件侦听器,因为这是您使用的。并重写适当的方法(entityIsTransient、entityIsPersistent等),或使用getEntityState()了解实体的状态。javadoc和源代码都是可用的。