如果在部署的应用程序之后打开或关闭数据库连接时,如果在JPA中检查数据库是否已连接,则(运行应用程序时)
答案 0 :(得分:4)
最简单的方法是执行查询,例如
em.createNativeQuery("select 1 from dual").getSingleResult();
通常,DataSource /连接池或JPA提供程序将提供某种连接测试或死连接解析。
如果您正在使用EclipseLink的连接池,它将自动检测死连接并重试查询。
答案 1 :(得分:1)
通常,所有JPA实现都使用一些连接池或池数据源(如C3P0)和这些连接池have a configuration,它们在获取连接之前测试数据库连接。有关此设置,请查看连接池/数据源文档。