1

我有一个具有一对多关系的应用程序。当我进行提取时,我发现我必须先读取集合,然后才能从我的 dao 返回数据并且会话结束,否则我会丢失数据并在尝试读取数据时出现无活动会话错误我的用户层。为什么会这样,有没有办法解决它?这似乎是 Hibernate 一个非常昂贵的方面。我敢肯定有一些文章解释了这一点。

4

1 回答 1

0

有两种选择,而不是在返回对象之前读取所有集合项: 1. 使用 Eager fetch 模式而不是 Lazy。例如@OneToMany(mappedBy = "client", fetch = FetchType.EAGER) 2. 保证在获取该对象的同一事务中读取该对象的这些集合项的调用。

问候, Thinh

于 2012-09-21T03:56:55.333 回答