gpt4 book ai didi

java - 在 PLSQL Oracle 中抛出特定的错误消息...进入 hibernate 状态?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:58:35 24 4
gpt4 key购买 nike

是否可以在 PL/SQL oracle 存储过程中抛出特定错误消息并在调用时在 Hibernate 中捕获它?

最佳答案

您可以从 PL/SQL 代码中抛出用户定义的错误消息。 -20000 到 -20999 之间的错误代码保留给用户指定的错误消息。

您可以通过在 PL/SQL 中调用 raise_application_error 函数来做到这一点:

raise_application_error(-20001, 'Your error code message here');

这将像普通的 Oracle 错误一样传播。

编辑:

我不是 Hibernate 的用户,但我在尝试寻找答案时发现了这一点,我认为它会引导您走上正确的道路。

try 
{
// some hibernate calls
}
catch (GenericJdbcException ge)
{
if(ge.getCause() != null && ge.getCause() instanceof SQLException)
{
SQLException se = (SQLException)ge.getCause();

// *****************************************************************
// NOTE: THIS will be where you check for your customer error code.
// *****************************************************************
if(se.getErrorCode() == -20001)
{
// your error handling for this case
}
else
{
throw ge; // do not swallow unhandled exceptions
}
}
else
{
throw ge // do not swallow unhandled exceptions
}
}

关于java - 在 PLSQL Oracle 中抛出特定的错误消息...进入 hibernate 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1544035/

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