hibernate event使用总结
2008-06-03 23:00
323 查看
使用org.hibernate.event.Postbao的接口
例如
public class SavaOrUpdateListener implements PostInsertEventListener{
private static final long serialVersionUID = 1L;
public void onPostInsert(PostInsertEvent event){
System.out.println("event=============="+event.getEntity());//当前保存的实体
System.out.println("event=============="+event.getId());//改实体的id
System.out.println("event=============="+event.getPersister());//SingleTableEntityPersister(com.redsaga.domain.User)
System.out.println("event=============="+event.getState());
}
}
注意:在保存和修改的时候都会调用此方法很可能造成死循环
在hibernate.cfg下加上
<event type="post-commit-insert">
<listener class="com.redsaga.busness.event.SavaOrUpdateListener"/>
</event>
就可以了
在spring使用只有在hibernate3.1才加的新功能
<property name="eventListeners">
<map>
<entry key="post-commit-insert"><ref bean="SavaOrUpdateListener" /></entry>
</map>
</property>
<bean id="SavaOrUpdateListener" class="hibernate.event.SavaOrUpdateListener">
</bean>
或者
<property name="eventListeners">
<map>
<entry key="post-commit-insert"><bean class="hibernate.event.SavaOrUpdateListener" /></entry>
</map>
</property>
<event type="save">在调用session.save是在生成sql前发生在调用session.saveOrUpdate不使用
其他的使用
<event type="post-commit-update">
</entry>
<event type="post-commit-delete" >
</entry>
auto-flush
merge
create
create-onflush
delete
dirty-check
evict flush
flush-entity
load
load-collection
lock
refresh
replicate
save-update
save
update
pre-load
pre-update
pre-insert
pre-delete
post-load
post-update
post-insert
post-delete
post-commit-update
post-commit-insert
post-commit-delete
Hibernate事件系统&监听器
例如
public class SavaOrUpdateListener implements PostInsertEventListener{
private static final long serialVersionUID = 1L;
public void onPostInsert(PostInsertEvent event){
System.out.println("event=============="+event.getEntity());//当前保存的实体
System.out.println("event=============="+event.getId());//改实体的id
System.out.println("event=============="+event.getPersister());//SingleTableEntityPersister(com.redsaga.domain.User)
System.out.println("event=============="+event.getState());
}
}
注意:在保存和修改的时候都会调用此方法很可能造成死循环
在hibernate.cfg下加上
<event type="post-commit-insert">
<listener class="com.redsaga.busness.event.SavaOrUpdateListener"/>
</event>
就可以了
在spring使用只有在hibernate3.1才加的新功能
<property name="eventListeners">
<map>
<entry key="post-commit-insert"><ref bean="SavaOrUpdateListener" /></entry>
</map>
</property>
<bean id="SavaOrUpdateListener" class="hibernate.event.SavaOrUpdateListener">
</bean>
或者
<property name="eventListeners">
<map>
<entry key="post-commit-insert"><bean class="hibernate.event.SavaOrUpdateListener" /></entry>
</map>
</property>
<event type="save">在调用session.save是在生成sql前发生在调用session.saveOrUpdate不使用
其他的使用
<event type="post-commit-update">
</entry>
<event type="post-commit-delete" >
</entry>
auto-flush
merge
create
create-onflush
delete
dirty-check
evict flush
flush-entity
load
load-collection
lock
refresh
replicate
save-update
save
update
pre-load
pre-update
pre-insert
pre-delete
post-load
post-update
post-insert
post-delete
post-commit-update
post-commit-insert
post-commit-delete
Hibernate事件系统&监听器
相关文章推荐
- C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步)
- Hibernate注解方法使用总结
- Hibernate注解使用方法总结
- 【Hibernate】hql使用总结(下)
- Hibernate注解方法使用总结
- Hibernate 使用中的一些总结
- 【Hibernate总结系列】使用举例
- Hibernate注解方法使用总结
- Hibernate 经验使用总结
- (转)【Hibernate总结系列】使用举例
- Hibernate注解方法使用总结
- Event、CreateProcess使用的一些总结
- 改善Hibernate性能――Hibernate的精细化使用总结
- hibernate注解方法使用总结(转)
- hibernate 一级和二级缓存使用总结
- hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结
- Atitit.Hibernate中Criteria 使用总结and 关联查询 and 按照子对象查询 o9o
- hibernate使用总结
- Hibernate 集合属性List 的使用----Hibernate 学习笔记总结(一)
- struts+hibernate使用总结