Хорошая практика гибернации при отсоединении объектов - PullRequest
0 голосов
/ 10 июня 2011

После создания запроса гибернации мой код выглядит следующим образом:

@SuppressWarnings("unchecked")
List<SendCommands> list = query.list();
session.evict( list );
if( list.isEmpty() ) 
   return null;
SendCommands dst = list.get( 0 );
return dst;

Что такое «хорошая» практика для этого примера:

1) отсоединение (выселение) всего набора результатов, затем возврат первого объекта этого набора, или

2) отсоединение (выселение) только первого объекта из набора:

@SuppressWarnings("unchecked")
List<SendCommands> list = query.list();
if ( list.isEmpty() ) 
    return null;
SendCommands dst = list.get( 0 );
session.evict( dst );
return dst;

1 Ответ

2 голосов
/ 10 июня 2011

Вам не нужно отсоединять объекты.Спящие сущности являются объектами POJO и не теряются в конце транзакции.Когда сеанс закрыт, они автоматически отключаются.Но вы все равно можете использовать их и получать доступ к их данным, если только эти данные не помечены как загруженные с отложенной загрузкой и не были извлечены, пока объекты были присоединены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...