@RadioRedFox
Программист с++

Имеет ли смысл сразу после открытия сессии вызывать clear()?

Имеет ли смысл сразу после
Session session = sessionFactory.openSession();
вызывать
session.clear()

или по умолчанию у новой session это делать не надо.
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
Bavashi
@Bavashi
Не имеет.
Можно посмотреть в доках как выглядит типичная сессия на транзакцию:
Session sess = factory.openSession();
 Transaction tx;
 try {
     tx = sess.beginTransaction();
     //do some work
     ...
     tx.commit();
 }
 catch (Exception e) {
     if (tx!=null) tx.rollback();
     throw e;
 }
 finally {
     sess.close();
 }

Clear() применяется для долгоживущих сессий, где нужно избавляться от большого кол-ва инстансов, чтобы избегать ошибок памяти, а также чтобы сбросить все ожидающие операции сохранения, обновления и удаления.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы