我现在用的是声明式事务管理,控制在service层,现在在service时的一个实现类中的方法里面开启了一个新的线程new Thread,在里面需要session,怎么在这个新的线程里面开启session?
Session 也就是 Hibernate中一个事务操作的缓存对象,Spring封装Hibernate也就是封装对Session的操作,简化对session的操作。 SessionFactory 是Spring专门为Hibernate定制的Session工厂类, 如果我们不用Spring,直接使用Hibernate,我们则需要写一个配置文件 hibernate.cfg.xml 文件,但是既然用了spring,那么直接配置在spring bean容器中了,其中配置,数据库连接,hql的指定数据库翻译器(Dialect),java对象和数据库表的映射文件加载 等。 hibernate3 一般用的是 org.springframework.orm.hibernate3.LocalSessionFactoryBean 这个类。 HibernateTemplate 是Hibernate操作进行封装,我们只要简单的条用HibernateTemplate 对象,传入hql和参数,就获得查询接口, 至于事务的开启,关闭,都交给HibernateTemplate 对象来处理。 HibernateTemplate 如果要看它的优越性,应该要结合spring的配置式事务。 spring + hibernate 使用spring配置式事务, 你会发觉你的代码会节省很多,而程序的管理,修改 和 扩展方面, 增强了好多。 自己实际写一个代码跑一下,这样才能有体会。
“答案来源于网络,供您参考” 希望以上信息可以帮到您!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。