【发布时间】:2011-12-03 17:52:50
【问题描述】:
搜索了几个小时,但我陷入了使用 JPA 的 PlayFramework 的学习曲线中。我正在建立一个可以发布帖子的示例网站。但是这些帖子可以有以下状态:
- PostDraft(帖子为草稿,请勿发布)
- PostPublished(可以发布帖子)
这些状态存储在单独的表中。显然,状态帖子草稿应该还不可见。
所以我有这些课程:
- 页面类(从表格中获取页面信息,1页可以有多个帖子)
- 帖子类(帖子可以处于草稿和已发布状态)
在我的页面类中,我有:
@Column(name="POSTS_REF")
@Where(clause="PostPublished")
private List<Posts> userPosts;
但这不起作用!那么,如何指定 where 子句,只加载处于已发布状态的帖子而不使用 JPQL??
谢谢!
更新:2011-10-11
表:帖子,列: - ID - 标题 - state_ref(引用States表的ID) - 内容
表:状态,列: - ID - 州名
所以我想说:
select *
from posts inner join states on posts.state_ref = states.id
where states.statename = 'PostPublished'
2011 年 10 月 13 日更新
这是我当前的修改,在我的页面类中:但它也不起作用。
/** link to the states */
@JoinColumn(name = "STATES_REF")
@OneToOne
@Where(clause = "states.statename = 'PostPublished'")
public MyState state;
2012-02-13 更新 Emt 的回答毕竟对我有用。
【问题讨论】:
标签: hibernate jpa playframework