gpt4 book ai didi

java - 如何检查你是否仍然使用 jpa 连接到数据库

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:04 26 4
gpt4 key购买 nike

我正在尝试使用 EntitityManager/Session 类检查与 jpa 的数据库连接。

为了检查这两种情况(已连接/未连接),我只需在运行代码之前启动/停用服务 mysql。

向数据库询问简单的 sql 查询是不可能的,因为它没有涵盖所有情况。

我已经试过了:

Session session = entityManager.unwrap(Session.class)
session.isConnected();

但这总是返回 true...

当我禁用 mySQL 服务时,我希望 session.isConnected() 返回 false,但它总是返回 true;

是否有任何其他方法来检查数据库连接(可能使用任何其他类)?

最佳答案

简答:不要

长答案:如果您正在开发一个很重要的应用程序,您可能会使用某种数据库连接池框架,例如

这将为您管理许多重要方面,包括连接生命周期。例如,在 tomcat jdbc 中,您可以指定:

testOnBorrow="true"
validationQuery="select 1 from sysibm.dual"

这在 IBM DB2 数据库上将测试连接是否在您每次使用时都失效,如果选择失败,还会将其换成新连接。这样做,您将永远不必在应用程序代码级别上担心这一点。

关于java - 如何检查你是否仍然使用 jpa 连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57525234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com