关于hibernate的监听器

mojie_javaEye 2010-01-07
关于监听器的问题,这2天搞不明白,所以上来请教大家,先谢谢了
我使用了hibernate的事件监听来满足对domain的改变做日志记录;
所以
1 写了监听类:LogListener implements PostInsertEventListener

Object entity = postInsertEvent.getEntity();
if(entity instanceof Ins4Year){
System.out.println("onPostInsert");
//省率log对象的创建
this.saveLog(postInsertEvent.getSession(),log);

private void saveLog(Session session,Object log){
if(null != session){
Session tempSession = session.getSessionFactory().openSession();
Transaction tran = tempSession.beginTransaction();

try{
tran.begin();
tempSession.save(log);
}catch(Exception e){
tran.rollback();
}finally{
tempSession.close();
}
}
}

2 配置
<bean id="mySessionFactory">....
<property name="eventListeners"> 
             <map>
             <entry key="post-commit-insert">
             <ref bean="logListener"/>
             </entry>
             <entry key="post-commit-update">
             <ref bean="logListener"/>
             </entry>
             </map>
    </property>
问题出现了,在监听里我做保存日志log没有保存上,没有报错或其他信息,想知道这是为什么,是不是和session不是同一个有关系(我做业务的session和监听器里新打开的session),谢谢大家!
younglibin 2010-01-08
高手看看我的问题吧:http://www.iteye.com/topic/554759
Global site tag (gtag.js) - Google Analytics