gpt4 book ai didi

java - Play Framework JPA : how to implement one-to-many relationship?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:56:59 26 4
gpt4 key购买 nike

我有一个 Posts 模型,每个帖子还包含 Blocks(也是一个模型)。我正在为这个网站使用 Play Framework ,我想做的是在一个页面上显示 X 个帖子及其所有 block 。 JPA(或 Play Framework 的实现,不知道它是哪个)有 find() 方法,我可以用它在我的 Controller 中查询帖子,然后我会将帖子列表发送到我的像这样看:

render(postList);

我想知道什么是将每个帖子的 block 发送到 View 的最佳方式。我可以向我的 Post 模型添加一个 getBlocks() 方法,它发回一个 blocksList,并从 View 中调用它,但这对我来说似乎很困惑,而且它会破坏 MVC 的目的,因为 block 将从 View 中获取..(或者我对此有误吗?)

JPA 还是 Play!提供一些方法来检索 block 和帖子?

这就是我的 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;
}

}

我应该怎么做?

最佳答案

只需使用一对多关键字:

@OneToMany
private List<Block> blockList;

但是不清楚您是否需要 getBlocks 方法。如果您只是从数据库中获取 block ,则不需要此方法。

注意:您可能想阅读有关@OneToMany 的更多信息。例如,您可以添加选项 @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.REMOVE}),这样当您从数据库中保留或删除一个内部 blockList 做同样的事情。

关于java - Play Framework JPA : how to implement one-to-many relationship?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com