У меня есть класс Person:
@Entity
public class Person {
@Id
@GeneratedValue
private Long id;
@ManyToMany(fetch = FetchType.LAZY)
private List<Role> roles;
// etc
}
С отношением многие ко многим это лениво.
У меня в контроллере есть
@Controller
@RequestMapping("/person")
public class PersonController {
@Autowired
PersonRepository personRepository;
@RequestMapping("/get")
public @ResponseBody Person getPerson() {
Person person = personRepository.findOne(1L);
return person;
}
}
А PersonRepository - это просто код, написанный в соответствии с этим руководством.
public interface PersonRepository extends JpaRepository<Person, Long> {
}
Однако в этом контроллере мне действительно нужны ленивые данные. Как я могу запустить его загрузку?
Попытка доступа к нему не удастся с
не удалось лениво инициализировать коллекцию ролей: no.dusken.momus.model.Person.roles, не удалось инициализировать прокси - нет сеанса
или другие исключения в зависимости от того, что я пытаюсь.
Мое xml-описание , на случай необходимости.
Спасибо.
Person
объекта с заданным параметром? В томQuery
, что включитьfetch
пункт и загрузитьRoles
тоже для человека.