Spring与Hibernate集成
一. 实例体验:
1. 非托管环境例子代码: (参看附件hibernate.rar)
(Note: Hibernate plugin 在线安装:
For Eclipse 3.6: http://download.jboss.org/jbosstools/updates/stable/
For Eclipse 3.7: http://download.jboss.org/jbosstools/updates/development/indigo )
2. 与Spring集成: http://oss.org.cn/ossdocs/framework/spring/2.0.x/zh-cn/orm.html
二. 问题集锦:
1) Hibernate mapping文件路径明明配置正确,但始终提示找不到
如配置<mapping resource="com/pan/hill/dao/project.hbm.xml"/>,project.hbm.xml文件放在src\main\webapp\WEB-INF\classes\com\pan\hill\dao 下。
调试时,在Eclipse中Run on server, 始终提示com/pan/hill/dao/project.hbm.xml找不到(但是其他配置文件,如applicationContext.xml也放在src\main\webapp\WEB-INF下,能找到)。一定要把com/pan/hill/dao/project.hbm.xml放在tomcat的lib目录下才能找到!
不知是spring, 还是hibernate的问题,或者是其他原因? 记录一下
三. 总结:
1. DAO实现有哪些途径:
1) 基于Spring HibernateTemplate
i. 使用callback
Note: 通过匿名内部类实现HibernateCallback接口的doInHibernate方法即可
ii. 不使用callback
2) 基于Spring HibernateDaoSupport
i. 使用HibernateTemplate(不使用callback的)
ii. 不使用HibernateTemplate
3) 基于Hibernate3的原生API实现DAO
2. 事务处理:
1) 编程式的事务
2) 声明式事务