我的 JPA 测试应用程序会跟踪用户在我所在城镇访问过的酒吧数量。我在用户对象上有这个
@ManyToMany(mappedBy = "users")
private List<Pub> visited;
而另一边的 pub 对象
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
joinColumns =
@JoinColumn(name = "pubid"),
inverseJoinColumns =
@JoinColumn(name = "userid"))
protected Set<User> users;
但是,我已经更新了 pub 表,其中有一列指示 pub 已关闭。我只希望用户的访问列表包含活动的酒吧,所以问题是
我怎样才能有条件地加入这些对象,以便只有通过测试(例如 table.closed=false)的 pub 才会被放入用户的访问列表中?
我在下面使用hibernate和postgres。