【发布时间】:2017-03-21 10:20:31
【问题描述】:
我正在尝试将一组记录保存到数据库中,如下所示。我在表的 2 列上设置了唯一约束。我已经处理了约束异常。如果我插入新的记录集,我没有问题。如果我尝试插入重复记录,则会处理异常,但 ms sql server 会说
执行查询。等待数据源的响应。
此外,如果我尝试插入新记录集,则 http 请求未完成并且记录未插入。应该如何处理约束异常,让ms sql server不挂起?
public void addStepFlow(List<StepFlow> stepFlows) {
Session session = this.sessionFactory.openSession();
try {
Transaction tx = session.beginTransaction();
for (StepFlow stepFlow : stepFlows) {
session.save(stepFlow);
session.flush();
session.clear();
}
tx.commit();
session.close();
} catch (JDBCException e) {
SQLException cause = (SQLException) e.getCause();
System.out.println(cause.getMessage());
}
}
【问题讨论】:
-
为什么不做批量插入而不是一个一个地插入?
-
刚开始学习。不知道该怎么做。