我刚开始接触Spring框架,正在阅读有关Hibernate-Spring集成(版本3)的文档。我不明白为什么自动事务管理(声明式管理)应用于文档中的“服务”,而不是直接应用于DAO实现。特别是我不理解他们所说的服务是什么,与DAO相比有何区别,以及是否真的需要提供Hibernate与Spring的集成。
我尝试的方法是只使用Hibernate DAO实现,并在XML中配置,在实例化时设置SessionFactory。然而,这会导致异常,因为Spring不允许非事务性Hibernate访问。那么,为了添加事务性访问,我必须添加那个“服务”吗?它与简单的DAO有何不同?
我尝试的方法是只使用Hibernate DAO实现,并在XML中配置,在实例化时设置SessionFactory。然而,这会导致异常,因为Spring不允许非事务性Hibernate访问。那么,为了添加事务性访问,我必须添加那个“服务”吗?它与简单的DAO有何不同?
@Resource
不是一个组件注解,它是 JSR-250 中@Autowired
的替代。DAO 的首选注解是@Repository
。参考资料: a) @Resource b) @Component 和其他构造型注解 - Sean Patrick FloydHibernateTemplate
正在逐渐被淘汰,现在开始使用它并不明智。 - Sean Patrick Floyd