HibernateTemplate和 session
Spring 的 HibernateTemplate 可以管理会话和事务, 简化 DAO 实现. 但使用 HibernateTemplate 意味着DAO 必须依赖于 Spring 的 API
代替 HibernateTemplate 的另一种办法是使用 Hibernate 的上下文 Session 对象.
Hibernate 上下文 Session 对象和 Spring 的事务管理合作的很好, 但此时需保证所有的DAO 方法都支持事务
注意此时不需在 beans.xml 文件中配置, 因为 Spring 此时已经开始事务, 所以已经在 ThreadLocal 对象中绑定了 Session 对象
为什么Hibernate4中不再提供HibernateTemplate模板
由上文的内容可以看出 HibernateTemplate这个模板使得 DAO 层依赖于Spring的API,违反了Spring 非侵入性的原则
由于hibernate4已经完全可以实现事务了 与spring3.1中的hibernatedao,hibernateTemplete等有冲突,所以spring3.1里已经不提供hibernatedaosupport,hibernateTemplete了,只能用hibernate原始的方式用session