Tôi có một lớp Người:
@Entity
public class Person {
@Id
@GeneratedValue
private Long id;
@ManyToMany(fetch = FetchType.LAZY)
private List<Role> roles;
// etc
}
Với một mối quan hệ nhiều-nhiều mà lười biếng.
Trong bộ điều khiển của tôi, tôi có
@Controller
@RequestMapping("/person")
public class PersonController {
@Autowired
PersonRepository personRepository;
@RequestMapping("/get")
public @ResponseBody Person getPerson() {
Person person = personRepository.findOne(1L);
return person;
}
}
Và PersonRep repository chỉ là mã này, được viết theo hướng dẫn này
public interface PersonRepository extends JpaRepository<Person, Long> {
}
Tuy nhiên, trong bộ điều khiển này tôi thực sự cần dữ liệu lười biếng. Làm thế nào tôi có thể kích hoạt tải của nó?
Cố gắng truy cập nó sẽ thất bại với
thất bại trong việc khởi tạo một cách lười biếng một bộ sưu tập vai trò: no.dusken.momus.model.Person.roles, không thể khởi tạo proxy - không có Phiên
hoặc các ngoại lệ khác tùy thuộc vào những gì tôi cố gắng.
Mô tả xml của tôi , trong trường hợp cần thiết.
Cảm ơn.
Person
đối tượng được cung cấp một số tham số không? Trong đóQuery
, bao gồmfetch
mệnh đề và tảiRoles
quá cho người.