1

我有两个实体:UserPost(关系一对多)。Post字段:id, creationDate, title, content, user.

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

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

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

4

2 回答 2

1

使帖子内容成为数据库中的对象和单个表。

它在 java 中如下所示:

public class Post {

  ...


  PostContent postContent;
}
于 2013-03-15T08:50:29.000 回答
1

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

于 2013-03-15T08:55:33.023 回答