gpt4 book ai didi

java - Hibernate 刷新速度不够快,无法捕获数据库异常

转载 作者:行者123 更新时间:2023-12-02 00:23:21 24 4
gpt4 key购买 nike

我在 Try/Catch block 内有一个方法,它调用 Hibernate DB Save 操作来插入一行。

即使存在数据库问题(例如,当我将 NULL 插入非 NULL 列时),该方法也会成功完成。然后,在稍后的某个时刻,Hibernate 会尝试“刷新”或完成事务,此时就会抛出错误。

这扰乱了我的代码流程,因为我依赖我的方法成功完成来完成其他事情,例如发送电子邮件。调用我的方法后,我继续基于没有发生错误的假设发送电子邮件(否则我会被抛出我的代码流并进入我的 Catch block ,但这是不是发生)。

有人知道如何处理这种情况吗?

最佳答案

简单的答案是简单地调用 Session.flush() ,任何挂起的 SQL 都会运行,从而导致当时可能潜伏的任何 SQL 异常发生。

在更大的范围内,您可能希望查看在应用程序级别验证数据的选项,而不是依赖 SQL 异常来检测错误。当然,这两种方式都有优点和缺点。

关于java - Hibernate 刷新速度不够快,无法捕获数据库异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10504159/

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