3

在休眠中如何确认/验证 session.save(entity)、session.delete(entity) 和 session.update(entity) 操作是否已成功执行而无需再次调用 db?

我的意思是如果你删除一个实体,你如何确认它被删除。可以在不再次调用数据库的情况下完成吗?

4

3 回答 3

9

如果要使用会话对象上的实体捕获保存/更新/删除调用的失败,您应该注意它HibernateException的子类。RuntimeException如果没有抛出异常,则说明操作成功。

如果您使用 JPA 语义,那么您应该注意处理此类故障场景PersistenceException的对应部分。HibernateException

于 2012-10-02T17:47:29.817 回答
2

session.delete,session.save and session.update方法在失败时不加检查HibernateException

于 2012-10-02T17:50:29.897 回答
0

如果指定的操作失败,将抛出 Hibernate 异常。所以,你应该有一个 HibernateException 的 catch 块。如果控制进入该块,那么您应该返回 false 以指示操作不成功。

于 2012-10-03T07:56:58.513 回答