在Spring Framework 3.0中使用Hibernate和Jdbc

我正在开发一个使用Spring 3.0,hibernate 3.0的项目。 我的项目有Controller,Service和DAO层。 从服务层访问Daos(用hibernate编写)。 现在要求是我需要同时使用Hibernate和JDBC。 Hibernate部分约占80-90%。 对于剩余的10%,我必须使用简单的JDBC(可以使用JdbcTemplate)。 请建议我,如何同时使用hibernate和Jdbc。 我需要使用Separation,Re-usability进行设计。 另外如何在Spring中实现它?

任何建议表示赞赏。

提前致谢!!

您可以安全地将hibernate与spring JDBC混合使用,并且两者都应该能够共享由HibernateTransactionManager管理的事务。 请记住,您应该使用spring模板来实现此目的,因为它们能够检测并重用与活动事务的线程绑定连接。 如果由于某种原因你想添加另一个基于jdbc的库(例如groovy sql),你仍然可以通过spring DataSourceUtils

当hibernate和spring jdbc模板对相同数据进行操作时,可能会出现唯一的潜在问题。 Hibernate可能会延迟数据库更新,然后spring jdbc会访问过时的数据。 我对这种交互的体验来自旧版本的spring,现在可能有一些机制可以解决这个问题。

我正在写这个答案,希望人们能改进我的答案,因为这可能不是最佳答案,所以请评论。

在hibernate中,您可以使用命名的本机查询示例: http : //www.java2s.com/Code/Java/JPA/UsingNamedNativeQuery.htm向下滚动一下,找到File:Professor.java您可以使用此示例。 这样您就可以从hibernate中激活本机查询。