所以,假设我有两个对象:类(class)和练习。类(class)包含练习列表。
启用延迟加载,通过存储库我可以获得我感兴趣的类(class):
couserRepo.query(new ByNameSpec("courseName")).
现在我想访问类(class)练习,但是当我调用course.getExerccises()
时,我收到一条消息,该 session 已经关闭。
所以,我必须再次查询 repo,这绝对不方便。
这个该怎么办?
最佳答案
请记住,每次操作打开 session 是反模式。请参阅http://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html#session-per-operation了解更多信息。
The scope of a Hibernate org.hibernate.Session is flexible but you should never design your application to use a new Hibernate org.hibernate.Session for every database operation.
我认为你应该考虑每个请求 session 模式。
关于java - OOP 风格的 Hibernate 延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37468170/