在纯JPA设置中获取数据库连接
我们有一个JPA应用程序(使用hibernate),我们需要将调用传递给需要JDBC数据库连接作为参数的旧式报告工具。有没有一种简单的方法可以访问hibernate已设置的JDBC连接?
回答:
您想在哪里获得该连接尚不清楚。一种可能是从.NET Session
使用的基础Hibernate中获取它EntityManager
。使用JPA
1.0,您必须执行以下操作:
Session session = (Session)em.getDelegate();Connection conn = session.connection();
请注意,该getDelegate()
方法不是可移植的,此方法的结果特定于实现:上面的代码在JBoss中有效,对于GlassFish,您必须对其进行调整-
请看一下使用EntityManager.getDelegate()时要小心。
在JPA 2.0中,情况要好一些,您可以执行以下操作:
Connection conn = em.unwrap(Session.class).connection();
如果您在容器中运行,还可以在configure上执行查找DataSource
。
以上是 在纯JPA设置中获取数据库连接 的全部内容, 来源链接: utcz.com/qa/422485.html