以下に示すように、レコードセットをdbに保存しようとしています。私はテーブルの2列にユニーク制約を設定しました。私は制約の例外を処理しました。新しいレコードを挿入すると問題はありません。重複するレコードを挿入しようとすると、例外が処理されますが、ms SQLサーバーはクエリを実行しています。Hibernate制約違反例外がSQLサーバをハング
データソースからの応答を待っています。
また、新しいレコードセットを挿入しようとすると、http要求が完了せず、レコードが挿入されません。 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());
}
}
は、なぜあなたは代わりに、一つ一つのバッチ挿入をしませんか? – shrinathM
ちょうど学び始めました。それをする方法を知らない。 – user7620991