gpt4 book ai didi

hibernate - 如何捕获c3p0和JPA异常?

转载 作者:行者123 更新时间:2023-12-02 17:23:26 25 4
gpt4 key购买 nike

我得到了这个应用程序,用户必须手动连接数据库,我用这一行来做到这一点

EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistenceUnit", connectionProperties);

当用户/密码不正确或由于错误的 url 导致主机超时时 C3P0 会中断连接

然后我在控制台中得到这些

com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask, 1853 - A RESOURCE POOL IS PERMANENTLY BROKEN! [com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@18e3f02a]

问题:我无法捕获该异常,因此我可以将其转换为屏幕上用户友好的消息,就像始终创建电动势一样,我无法判断何时损坏

更新:我在 Hibernate 上发现 http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/transactions.html#transactions-demarcation-exceptions

但是我用每一个可能的 try catch 包围了我的 emf,但仍然无法捕获任何东西

最佳答案

JPA 规范规定,如果持久性单元无法实例化,Persistence.createEntityManagerFactory 将返回 null(并且没有说明任何可能的异常)。因此,它就像巧克力茶壶一样用于以编程方式检测原因。向编写 JPA 规范的人提示。

关于hibernate - 如何捕获c3p0和JPA异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6971044/

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