在纯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

回到顶部