我在想,如果spring向业务层注入DAO Bean时每次都是新new一个,那在DAO类中使用hibernate session时是不是就不用考虑并发的问题了?一律sessionFactory.openSession()就行了吧?实际工作中都是怎么处理的呢??spring有个声明式的事务管理功能,这个功能是不是就是为了解决我考虑的这个问题的?何时会用到这个功能呢?难道在DAO Bean是单例模式的情况下用??。。纠结好久了,求大牛们帮助~
调试欢乐多
恩 但是我这项目有这样的一个情况:DAO中的方法有互相调用的情况,而且还是一个事务,这样的话貌似必须使用同一个session,如果每个DAO方法都新开session的话就没办法工作了。。
1、依赖于Sping提供的事务管理(基于拦截),这个可以Google下,挺方便的;可以在一个Service类中操作多个DAO,使用同一个上下文;
2、自己管理Session。如果关联关系不是复杂到吐血的话,推荐尽量用前者。
话说,大侠,如果使用spring的事务管理的话,我的DAO类是不是都要继承spring提供那个HibernateDAOSupport?
不然我想不出spring是怎么实现事务的
你的原始目标并不是必须以“XXOO”来实现的话要怎么样?
而是如果我用“XXOO”来实现是不是很好?