在hibernate中如何确认/验证session.save(实体),session.delete(实体)和session.update(实体)操作是否已成功执行而不再调用db?
我的意思是,如果你删除一个实体,你如何确认它被删除。可以在不再调用数据库的情况下完成吗?
答案 0 :(得分:7)
如果要捕获会话对象上的实体的保存/更新/删除调用失败,则应注意HibernateException
,RuntimeException
的子类。如果未抛出异常,则表示操作成功。
如果您使用JPA语义,那么PersistenceException
是HibernateException
的反对部分,您应该注意处理此类故障情况。
答案 1 :(得分:1)
session.delete,session.save and session.update
方法在失败时抛出未经检查的HibernateException
。
答案 2 :(得分:0)
如果指定的操作失败,将抛出Hibernate异常。 所以,你应该有一个HibernateException的catch块。如果控制进入此块,则应返回false以指示操作不成功。