【发布时间】:2012-07-03 18:22:47
【问题描述】:
如何在JPA中检查数据库是否连接,当数据库连接在部署应用程序后打开或关闭时(在运行应用程序时)
【问题讨论】:
如何在JPA中检查数据库是否连接,当数据库连接在部署应用程序后打开或关闭时(在运行应用程序时)
【问题讨论】:
通常所有 JPA 实现都使用一些连接池或池化数据源(如 C3P0),这些连接池 have a configuration 在获取连接之前测试数据库连接。请检查您的连接池/数据源文档以了解此设置。
【讨论】:
最简单的方法是执行查询,比如
em.createNativeQuery("select 1 from dual").getSingleResult();
通常,数据源/连接池或 JPA 提供程序会提供某种连接测试或死连接解决方案。
如果您使用 EclipseLink 的连接池,它将自动检测死连接并重试查询。
【讨论】: