我正在使用Spring 3.0,Hibernate
3.0的项目中工作。我的项目具有Controller,Service和DAO层。Daos(用hibernate方式编写)可从服务层访问。现在的要求是,我需要同时使用Hibernate和JDBC。hibernate部分约为80-90%。对于剩余的10%,我必须使用简单的JDBC(可以使用JdbcTemplate)。请建议我,我该如何同时使用hibernate和Jdbc。我需要具有分离性,可重用性的设计。还有如何在Spring中实现它?
任何建议表示赞赏。
提前致谢!!
您可以安全地将hibernate与spring
JDBC混合使用,并且两者都应该能够共享由托管的事务HibernateTransactionManager
。请记住,您应该使用spring模板来实现此目的,因为它们能够检测并重用带有活动事务的线程绑定连接。如果由于某种原因您想向混合添加另一个基于jdbc的库(例如groovy
sql),您仍然可以在spring之前完成DataSourceUtils
。
当hibernate和弹簧jdbc模板都对同一数据进行操作时,可能会出现唯一的潜在问题。Hibernate可能会延迟数据库更新,然后spring
jdbc将访问过时的数据。我对这种交互的经验来自于较早的spring版本,如今可能有一些机制可以解决此问题。
我正在编写一个模块来持久化一些数据,并使用OpenJPA作为持久化提供程序。但是现在我想给用户一个配置选项来在和之间切换。所以我写了一个新的DaoFactory类来创建,并在hibernate的中创建了新的持久性单元()。 现在,当我创建EntityManagerFactory时,问题出现了。我的密码是, 我的坚持。xml 我的Hibernate属性地图是, 这将选择OpneJPA作为正确的持久性
我试图确保:(1)我有一个连接池,当连接丢失时,它将管理与数据库的重新连接;(2)JDBC和Hibernate使用相同的数据源。 我说对了吗?
是否可以使用Spring数据JPA(以Hibernate作为JPA提供程序为后盾),同时直接使用Hibernate? 问题是,当我使用JpaTransactionManager时,我无法使用检索当前会话。当我切换到HibernateTransaction管理器时,JPA存储库无法提交更改。 下面是Spring上下文的部分(对于该上下文,我无法使用直接的Hibernate调用): hibernate
问题内容: 是否可以使用Spring Data JPA(由Hibernate作为JPA提供者支持)并同时直接使用Hibernate? 问题是,当我使用JpaTransactionManager时,无法使用检索当前会话。当我切换到HibernateTransaction Manager时,JPA存储库无法提交更改。 这是我的Spring上下文的一部分(在该上下文中,我无法使用直接的Hibernate
问题内容: 有人可以在何时使用以及在Hibernate中为我提供用例帮助吗? 问题答案: @Version用于通过Hibernate 实现乐观锁定,这意味着没有两个事务会在冲突时同时覆盖数据。 如果两个线程同时读取数据,并且两个线程都尝试使用不同的值更新同一行,则Hibernate将使用该字段来检查该行是否已更新。 在提交之前,每个事务都将验证没有其他事务已修改其数据。如果被修改,则最后一个事务遇
问题内容: 是否必须在使用注释和hibernate配置文件之间做出严格选择,还是可以在同一项目中同时使用两种方式? 我们有一个使用Hibernate 3.2.5和POJO配置文件的大型项目。该项目使用的是Hibernate Factory,而不是基于JTA的工厂。 以这种方式配置了一百多个POJO,原始开发人员团队不愿意切换到注释。 同时,我们需要用更多的POJO扩展项目,这些POJO我们愿意使用