私は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-description。
ありがとう。
Person
パラメータを指定してオブジェクトをフェッチするクエリを作成するメソッドを記述できますか?そのQuery
中に、fetch
句を含め、Roles
その人のためにロードします。