Я использую Spring data
, который прост в использовании, но я не могу его контролировать, потому что я получил ошибку тамотложенной загрузки с данными Spring
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: entity.Qualite.fonctions, could not initialize proxy - no Session
FetchType.EAGER
Я знаю, что будет работать, но я хочу сохранить его ленивым. так, как я могу контролировать сессию в spring data
@RequestMapping(value="/loadfonction")
public @ResponseBody
Set<Fonction> loadfonction(Map<String, Object> model, HttpServletRequest request) {
Set<Fonction> fonctions = qualiteRepo.findOne(Integer.valueOf(request.getParameter("idquality"))).getFonctions();
System.out.println(fonctions.size());
return fonctions;
}
Я даже попробовать @Transactional аннотацию, но это не сработало:
@Transactional
@RequestMapping(value="/loadfonction")
невозможно с 'пружинными данными', а также если я перехожу в спящий режим, где я могу контролировать сеанс и транзакцию? – Youssef
Я не уверен в этом, но, думаю, если вы находитесь в транзакции, вы можете вызвать какой-то метод для перезагрузки ленивой коллекции. Я кое-что прочитал об этом много времени назад, но я никогда не использовал его. – JCalcines