gpt4 book ai didi

java - 如何处理独立 Java 应用程序中的 Hibernate 异常

转载 作者:行者123 更新时间:2023-11-29 05:59:26 27 4
gpt4 key购买 nike

Hibernate 抛出的异常是未经检查的,从我在其他地方读到的内容来看,它们似乎不应该被代码捕获。然而,这意味着当例如发生临时数据库错误时,发生错误的线程将终止,我们的应用程序将变得无响应。应该怎么做?

发生的异常示例:

javax.persistence.PersistenceException
Caused by: org.hibernate.exception.GenericJDBCException: could not insert
Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

当应用程序已运行数小时或数天时会发生这种情况。

我读过的大部分内容都是关于如何在集成到 Spring 或类似软件中时使用 Hibernate 的。因此,每个 Web 请求都会启动一个新线程,如果该线程死亡,它只会影响那个 Web 请求。但是对于独立的 Java 应用程序,我们应该如何处理呢?

最佳答案

捕获 RuntimeException 没有错。未选中它只是为了让您可以选择不这样做。

如果您有处理异常的特定策略(例如重试,或触发应用逻辑中的其他内容),一定要捕获它!

关于java - 如何处理独立 Java 应用程序中的 Hibernate 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10713064/

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