Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 跨Hibernate会话和普通jdbc的单事务_Java_Spring_Hibernate_Jdbc_Transactions - Fatal编程技术网

Java 跨Hibernate会话和普通jdbc的单事务

Java 跨Hibernate会话和普通jdbc的单事务,java,spring,hibernate,jdbc,transactions,Java,Spring,Hibernate,Jdbc,Transactions,是否可以为Hibernate会话使用单个事务边界和普通JDBC查询? 数据库和数据源的配置对于这两者都是相似的 是的。使用HibernateTransactionManager。下面是从它的 此实现适用于仅使用 Hibernate用于事务性数据访问,但也支持直接访问 事务内的数据源访问(即普通JDBC代码) 使用相同的数据源)。这允许混合访问的服务 Hibernate(包括事务缓存)和使用 纯JDBC(不知道Hibernate)!应用程序代码需要 坚持与使用相同的简单连接查找模式 DataSou

是否可以为Hibernate会话使用单个事务边界和普通JDBC查询?
数据库和数据源的配置对于这两者都是相似的

是的。使用
HibernateTransactionManager
。下面是从它的

此实现适用于仅使用 Hibernate用于事务性数据访问,但也支持直接访问 事务内的数据源访问(即普通JDBC代码) 使用相同的数据源)。这允许混合访问的服务 Hibernate(包括事务缓存)和使用 纯JDBC(不知道Hibernate)!应用程序代码需要 坚持与使用相同的简单连接查找模式 DataSourceTransactionManager(即DataSourceUtils.getConnection或 正在进行交易(Waredatasourceproxy)

请注意,为了能够注册一个数据源的连接以进行普通 JDBC代码,此实例需要知道数据源(请参阅 setDataSource)。给定的数据源显然应该与 由给定的SessionFactory使用。要实现这一点,请将两者配置为 相同的JNDI数据源,或者最好使用 LocalSessionFactoryBean和本地数据源(将 此事务管理器自动检测到)


@这很常见。