0

私はユーザーと1対多の関係を持つグループを持っています。(グループには0人または1人以上のユーザーを含めることができます)

ユーザーが接続されていない場合、またはユーザーが存在する場合にIDが私のIDと一致する場合に、グループを返すjpaクエリを作成することでした。

たとえば、グループ1にユーザー1とユーザー2が含まれている場合、グループ2にはユーザーが含まれていません。

ユーザー3の場合、グループ2のみを返します。

ユーザー2の場合、グループ1とグループ2を返したい

これをJPAで実行できますか?JPQLのISEMPTY部分について知っているので、ユーザーに関係なくグループ2を返すことができます。私の問題は、リスト内でクエリを実行する方法です。

どんなポインタでもいいでしょう。

助けてくれてありがとう

4

1 に答える 1

0

私はそれを持っていると思います。答えは、リストに左参加することです。

例えば

SELECT g FROM Groups g left join fetch g.users u where (g.users IS EMPTY OR (u.id = :id))

グループは、ユーザーのリストを含む私のエンティティです

于 2012-07-26T10:24:52.287 に答える