【发布时间】:2012-01-24 13:56:32
【问题描述】:
这是我的用例:
public class User extends Model {}
public class TableA extends Model {
@OneToMany
public List<TableB> tableBs;
@ManyToOne
public AnObject anObject;
}
public class TableB extends Model {
@ManyToOne
public TableA tableA;
@ManyToOne
public User user;
public String status;
}
用户获得基于 AnObject 实例的 TableA 条目列表。如果 TableA 是新的,我想告诉这个用户。
(请注意,TableB 的作用类似于 User 和 TableA 的 n:n 表,我无法将其集成到 TableA 中)
要说是不是新的,就看TableB了。为此,我有两个选择:
- 在创建 TableA 时创建 TableB,但状态为 NEW 或 No
- 或者不为该用户创建 TableB。如果该用户的链接丢失,则意味着它是新的。 (这样做,我可以删除列状态)
(动作取决于“新”,它不仅仅是要显示的标签)。
现在,在我的 JPA 请求中,我如何指示该成员的 TableA 条目是否是新的?
简单的方法是获取TableA的列表,然后通过列表检查是否有User(类似isUserInTableB(User user)的方法)
但是是否可以使用 JPA 来做到这一点,例如,列表中只有一个项目,即用户,或者如果该用户未链接,则为空?
(我希望我很清楚,这不是我的想法:/)
非常感谢您的帮助,非常感谢!
【问题讨论】:
标签: jpa playframework jpql