JPAのテストアプリは、ユーザーが私の町で訪れたパブの数を追跡します。私はこれをユーザーオブジェクトに持っています
@ManyToMany(mappedBy = "users")
private List<Pub> visited;
そして、パブオブジェクトの反対側
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
joinColumns =
@JoinColumn(name = "pubid"),
inverseJoinColumns =
@JoinColumn(name = "userid"))
protected Set<User> users;
ただし、パブが閉じられたことを示す列でパブテーブルを更新しました。ユーザーの訪問済みリストにアクティブなパブのみを含めたいので、質問は
テストに合格したパブ(table.closed = falseなど)のみがユーザーの訪問済みリストに含まれるように、これらのオブジェクトを条件付きで結合するにはどうすればよいですか?
その下でHibernateとPostgresを使用しています。