在 PLSQL Oracle 中抛出特定错误消息...在休眠中捕获?
是否可以在 PL/SQL oracle 存储过程中抛出特定的错误消息,并在调用它时在 Hibernate 中捕获它?
Is it possible to throw a specific error message in a PL/SQL oracle stored procedure and catch it in Hibernate when it gets invoked?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以从 PL/SQL 代码中抛出用户定义的错误消息。 -20000 到 -20999 之间的错误代码保留用于用户指定的错误消息。
您可以通过在 PL/SQL 中调用
raise_application_error
函数来执行此操作:这将像正常的 Oracle 错误一样传播。
编辑:
我不是 Hibernate 的用户,但我在尝试寻找答案时发现了这一点,我认为它会引导您走上正确的道路。
You can throw user-defined error messages from PL/SQL code. Error codes between -20000 until -20999 are reserved for user specified error messages.
You do so by calling the
raise_application_error
function within your PL/SQL:This will be propagated just like normal Oracle errors.
Edit:
I am not a user of Hibernate, but I found this while trying to find an answer and I think it will lead you down the right path.
在代码中选择输出
您可以在 pl/sql 上使用输出参数,并使用 ParameterMode.OUT CREATE OR REPLACE procedure proc ( pls_out_put out number)
; //调用输出
int result = (Integer) query.getOutputParameterValue("pls_out_put");
you can use output parameter on the pl/sql and pick output in your code using ParameterMode.OUT
CREATE OR REPLACE procedure proc ( pls_out_put out number);
//call output
int result = (Integer) query.getOutputParameterValue("pls_out_put");