Гость
Форумы / Java [игнор отключен] [закрыт для гостей] / mybatis сложный rollback / 9 сообщений из 9, страница 1 из 1
17.09.2019, 16:34
    #39862955
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
Приветствую! Использую в проекте mybatis. Есть места в коде, когда выполняется много действий (update, delete, insert) и если в какой-то момент вылетает exception идет полный роллбэк.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SqlSession sqlSession = SqlMapHelper.getSqlSessionFactory().openSession();
try {
     sqlSession.insert("insertRecord1", map);
     sqlSession.update("updateRecord2", map);
     sqlSession.delete("deleteRecord3", map);
     sqlSession.insert("insertRecord4", map);
     sqlSession.update("updateRecord5", map);
     sqlSession.delete("deleteRecord6", map);     
     sqlSession.commit();
} catch (Exception e) {
     System.out.println("Error: " + e);
     sqlSession.rollback();
} finally {
     sqlSession.close();
}



Есть некоторые insert / delete / update, которые используются несколько раз. Хочу их вынести в отдельные методы, но не совсем понятно, как сохранить сессионность для транзакции..., чтобы можно было также сделать массовый rollback().

Спасибо!
...
Рейтинг: 0 / 0
17.09.2019, 17:02
    #39862982
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
qi_ipХочу их вынести в отдельные методыпокажите как. Вроде все компактно. Меньше экрана.
...
Рейтинг: 0 / 0
17.09.2019, 17:03
    #39862983
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
Код: java
1.
2.
3.
public commonMethod(session Session, params){
  session => session.insert(params)
}
...
Рейтинг: 0 / 0
17.09.2019, 17:56
    #39863024
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
забыл ник,

Возможно Session даже можно не передавать.
Код: java
1.
SqlMapHelper.getSqlSessionFactory().openSession();

По моему такие фабричные одну и ту же сессию возвращают в ORM-ах обычно. Хотя я могу и ошибаться.
...
Рейтинг: 0 / 0
17.09.2019, 18:01
    #39863027
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
vas0забыл ник,

Возможно Session даже можно не передавать.
Код: java
1.
SqlMapHelper.getSqlSessionFactory().openSession();

По моему такие фабричные одну и ту же сессию возвращают в ORM-ах обычно. Хотя я могу и ошибаться.

Это порочная практика, забудьте про такое, иначе рано или поздно застрелитесь
...
Рейтинг: 0 / 0
17.09.2019, 18:48
    #39863048
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
vas0,
В хибере да. А тут не знаю
...
Рейтинг: 0 / 0
18.09.2019, 15:34
    #39863377
Пылинка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
qi_ipПриветствую! Использую в проекте mybatis. Есть места в коде, когда выполняется много действий (update, delete, insert) и если в какой-то момент вылетает exception идет полный роллбэк.

А чтобы ты хотел?
...
Рейтинг: 0 / 0
18.09.2019, 17:24
    #39863465
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
qi_ip, данный пример неудачен т.к. не показывает суть проблемы.

Покажи на реальном примере что надо сделать.
...
Рейтинг: 0 / 0
19.09.2019, 11:30
    #39863811
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mybatis сложный rollback
забыл ник
Код: java
1.
2.
3.
public commonMethod(session Session, params){
  session => session.insert(params)
}


Спасибо большое! Буду тестить по Вашему примеру!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / mybatis сложный rollback / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]