我正在尝试将一组记录保存到db中,如下所示。我在表的2列上设置了唯一约束。我已经处理了约束异常。如果我插入新的记录集,我没有问题。如果我尝试插入重复记录,则处理异常,但ms sql server说
执行查询。等待数据源的响应。
此后,如果我尝试插入新的记录集,则http请求未完成且未插入记录。我应该如何处理约束异常,以便ms sql server不挂起?
-D
答案 0 :(得分:0)
尝试回滚异常..并关闭会话,无论heppens:
Session session = this.sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
for (StepFlow stepFlow : stepFlows) {
session.save(stepFlow);
session.flush();
session.clear();
}
tx.commit();
} catch (JDBCException e) {
SQLException cause = (SQLException) e.getCause();
System.out.println(cause.getMessage());
tx.rollback();
}finally{
session.close();
}