Hibernate约束违规异常挂起sql server

时间:2017-03-21 10:20:31

标签: java spring hibernate orm

我正在尝试将一组记录保存到db中,如下所示。我在表的2列上设置了唯一约束。我已经处理了约束异常。如果我插入新的记录集,我没有问题。如果我尝试插入重复记录,则处理异常,但ms sql server说

  

执行查询。等待数据源的响应。

此后,如果我尝试插入新的记录集,则http请求未完成且未插入记录。我应该如何处理约束异常,以便ms sql server不挂起?

-D

1 个答案:

答案 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();
    }