1
トランザクションでhiberanteのトランザクションを使用しています。永続(db)に をコピーします。行。ここ は私のコードです:JavaのHibernateは、dbの重複キーのために失敗したときにトランザクションをロールバックしません。
db.getTransaction().begin;
for (Item item : itemList) {
try{
//If duplicate key - don't fail the transaction
db.persist(item);
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
db.commit();
それは可能ですか?
これに応じて行動する方法は?トランザクションが失敗しました... – TwTw
呼び出されたメソッドの@Transactional宣言にnoRollbackFor = ConstraintViolationException.classという属性を入れる必要があります。 –
問題は、もともとデータベースによってスローされた問題です。トランザクションが終了する前にフラッシュする必要があります。だから、持続が終わった直後に –