У меня есть запрос на транзакцию Hibernate.Запрос транзакции Hibernate
В моем приложении у меня есть список данных, которые необходимо вставить в целом или нет. И по бизнес-логике мне нужно удалить все данные из этой таблицы и добавить полный список вложений. Список содержит более 100 тыс. Записей. Ниже приведен мой код для транзакции. Это неверно, поскольку он не откатывался в случае исключения одного запроса для данных Too Long. Не могли бы вы сообщить мне, что в нем не так?
public boolean deleteAndSaveAll(ArrayList<MyData> listBean) throws Exception {
boolean transactionCompleted = false;
Session session = HibernateUtils.currentSession();
Transaction tx = session.beginTransaction();
try {
String stringQuery = "DELETE FROM MyData";
Query query = session.createQuery(stringQuery);
query.executeUpdate();
for (MyData MyData : listBean) {
session.save(MyData);
}
tx.commit();
transactionCompleted = true;
} catch (Exception e) {
MyUtils.log("DAO: MyDataDAO error while deleteAndSaveAll : "+e.getMessage());
e.printStackTrace();
if(tx != null){
tx.rollback();
}
throw e;
}finally{
HibernateUtils.closeSession();
}
return transactionCompleted;
}
Вы должны сделать контрольно-пропускные пункты и откат до последней контрольной точки –
Но почти все примеры примеров спящего режима привели к такому примеру. Не знаю, почему это не сработало. Еще спасибо за ваше предложение. Я буду искать его для этого же. – Ketan