Mam klasę Person:
@Entity
public class Person {
@Id
@GeneratedValue
private Long id;
@ManyToMany(fetch = FetchType.LAZY)
private List<Role> roles;
// etc
}
Z leniwą relacją wiele do wielu.
W moim kontrolerze mam
@Controller
@RequestMapping("/person")
public class PersonController {
@Autowired
PersonRepository personRepository;
@RequestMapping("/get")
public @ResponseBody Person getPerson() {
Person person = personRepository.findOne(1L);
return person;
}
}
A PersonRepository to tylko ten kod, napisany zgodnie z tym przewodnikiem
public interface PersonRepository extends JpaRepository<Person, Long> {
}
Jednak w tym kontrolerze faktycznie potrzebuję leniwych danych. Jak mogę uruchomić jego ładowanie?
Próba uzyskania do niego dostępu zakończy się niepowodzeniem
nie udało się leniwie zainicjować kolekcji ról: no.dusken.momus.model.Person.roles, nie można zainicjować serwera proxy - brak sesji
lub inne wyjątki w zależności od tego, co próbuję.
Mój opis XML , w razie potrzeby.
Dzięki.
Person
obiekt z jakimś parametrem? W tymQuery
uwzględnijfetch
klauzulę i załadujRoles
też dla osoby.