java - 在 Spring Framework 3.0 中同时使用 Hibernate 和 Jdbc

标签 java spring hibernate jdbc

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

如有任何建议,我们将不胜感激。

提前致谢!!

最佳答案

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

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

关于java - 在 Spring Framework 3.0 中同时使用 Hibernate 和 Jdbc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9572226/

相关文章:

java - 需要有关简单 Java 赋值提示的帮助

spring - 在 spring mvc3 中同时使用 @RequestBody 和 @RequestParam

java - Spring Boot 微服务中的安全问题

java - Hibernate Session 更新未反射(reflect)在数据库中

java - 无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]

java - 悬停时图像变化 Java

java - 从 java 程序运行系统命令时出现问题 :

java - 无法打开 JPA EntityManager 进行事务。 JTA EntityManager 无法使用 getTransaction()

java - org.hibernate.hql.ast.QuerySyntaxException : Unable to locate appropriate constructor on class

mysql - 如何进行删除查询?