gpt4 book ai didi

java - 在 hibernate 中 saveOrUpdate 之后返回结果标志的最佳实践?

转载 作者:行者123 更新时间:2023-12-01 19:24:03 26 4
gpt4 key购买 nike

通常我们必须使用一些不会返回任何有用内容的方法。如果我在hibernate中调用saveOrUpdate(),我不知道它是否执行成功。我使用这样的实现(我认为这有点尴尬):

public int saveOrUpdateA(A a) {
int resultFlag = 0 ;
try {
// obtaining session is omitted
session.saveOrUpdate(a);
resultFlag = 1 ;
} catch (Exception e) {
e.printStackTrace();
}
return resultFlag ;
}

你是如何做到这一点的?有什么好主意吗?

异常应该在DAO层还是Service层捕获?

最佳答案

没有异常是成功的指标。

如果您确实想要该指标,我会选择 boolean 返回值。

public boolean saveOrUpdateA(A a) {
boolean success = false;
try {
// obtaining session is omitted
session.saveOrUpdate(a);
success = true;

} catch (Exception e) {
// log it and swallow exception
// calling code has to be sure to check on success flag;
// otherwise it has no idea something went terribly wrong
}
return success ;
}

您的应用程序仍然需要检查返回状态并适当处理它,这与处理 session.saveOrUpdate() 引发的潜在异常没有太大不同。

public void saveOrUpdateA(A a) throws Exception {

try {
// obtaining session is omitted
session.saveOrUpdate(a);
} catch (Exception e) {
// log it and rethrow; let calling code figure how to handle
throw e;
}
}

关于java - 在 hibernate 中 saveOrUpdate 之后返回结果标志的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2422425/

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