关于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
|