Java 我是否需要以某种方式清除休眠异常?
我在以以下方式保存数据时执行异常检查:Java 我是否需要以某种方式清除休眠异常?,java,hibernate,exception,transactions,Java,Hibernate,Exception,Transactions,我在以以下方式保存数据时执行异常检查: try { session.beginTransaction(); session.update(person); session.getTransaction().commit(); } catch(Exception e) { session.getTransaction().rollback(); log.error("Error saving p
try {
session.beginTransaction();
session.update(person);
session.getTransaction().commit();
}
catch(Exception e) {
session.getTransaction().rollback();
log.error("Error saving person to database", e);
}
尽管如此,我的申请还是被终止了,只是后来有个例外
(我进行此检查是为了避免数据截断错误。是否有方法检查数据截断而不在Hibernate中引发异常?当引发Hibernate异常时,您不能再使用导致异常的会话。回滚是自动完成的 如果要在异常后继续,有两种可能:
解决方案2。如果您故意引发异常,并且您有一种特殊的方式对其作出反应,则此选项非常有用。(例如,insert操作中出现索引冲突异常,异常发生后,您将执行更新而不是insert。)导致应用程序终止的其他异常是什么?发布堆栈跟踪。