6 java sql model-view-controller jpa playframework
我有一个Posts模型,每个帖子也包含Blocks(也是一个模型).我正在使用这个网站的播放框架,我想要做的是在一个页面上显示所有帖子的X号帖子.JPA(或播放框架的实现,不知道它是哪一个)有find()我可以在我的控制器中查询帖子的方法,而不是像我这样将帖子列表发送到我的视图:
render(postList);
Run Code Online (Sandbox Code Playgroud)
我想知道的是将每个帖子的块发送到视图的最佳方法.我可以在getBlocks()Post模型中添加一个方法,它发回一个blocksList,并从视图中调用它,但这对我来说似乎很麻烦,并且它会破坏MVC的目的,因为块将从视图中获取..(或者我错了吗?)
是JPA还是Play!提供一些与帖子一起检索块的方法?
这就是我的Post模型现在的样子,没有getter和setter:@Entity
@Table(name="posts")
public class Post extends GenericModel{
@Id
@Column(name="post_id")
private int id;
@Column(name="post_situation")
private String situation;
@Column(name="post_date")
private Date date;
@Column(name="post_userid")
private int userid;
private List<Block> blockList;
public List<Block> getBlocks() {
List<Block> block = null;
return blockList;
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
tot*_*to2 11
只需使用一对多关键字:
@OneToMany
private List<Block> blockList;
Run Code Online (Sandbox Code Playgroud)
但是,您是否需要该getBlocks方法尚不清楚.如果您只是从数据库中获取块,那么您不需要此方法.
注意:您可能想要阅读更多内容@OneToMany.例如,您可以添加选项@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.REMOVE}),以便在Post从数据库中保留或删除a时,内部blockList执行相同的操作.
| 归档时间: |
|
| 查看次数: |
8425 次 |
| 最近记录: |