延迟加载内容

时间:2013-03-15 08:18:19

标签: java javascript json hibernate lazy-loading

我有两个实体:UserPost(一对多关系)。 Post字段:idcreationDatetitlecontentuser

数据存储在数据库中,并通过Hibernate访问。

我有一个控制器将Post对象作为JSON传递给JavaScript。然后它显示在网页上。但并不总是需要传递所有Post字段。例如,我需要向用户显示标题和创建日期,如果用户按下按钮Show content,我只需要显示帖子内容(我只想在服务器上请求它)需要表明)。

所以这是一个问题:如何在Post对象中实现内容字段的 lazy 初始化?我应该在我的控制器中编写两个方法:一个用于生成带有帖子列表的JSON并将内容字段设置为null或空String,另一个只传递内容字符串?

2 个答案:

答案 0 :(得分:1)

在db。中将帖子内容设为对象和单个表。

在java中看起来如下:

public class Post {

  ...


  PostContent postContent;
}

答案 1 :(得分:1)

首先,您可以尝试通过Hibernate.initialize(lazyCollection)在DAO初始化延迟集合。如果它不起作用,则使用FetchType.EAGER或在请求期间保持会话打开,并在需要时提取集合。