При попытке оптимизировать транзакции в моем проекте java ee 6 с помощью hibernate, я попытался сделать то же самое, что и с Eclipselink, и отключил транзакции для запросов только для чтения, как показано ниже:
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public User fetchUser(Integer id){
User u = em.find(User.class, id);
u.getRoleList().size();
return u;
}
Inhibernate, это выдает и исключение при попытке прочитать роли пользователя, утверждая, что сессия уже закрыта.Действительно ли отложенная загрузка в спящем режиме требует полноразмерной транзакции EJB только для чтения данных?