我有一个与用户有一对多关系的小组。 (一个组可以有零个或一个以上的用户)
我写了一个jpa查询,如果没有附加用户,或者如果用户的id与我的id匹配,则返回一个组。
例如,如果我有第1组包含用户1而用户2.第2组包含没有用户。
如果我是用户3,我只想返回第2组。
如果我是用户2,那么我想要返回第1组和第2组
我可以在JPA中这样做吗?我知道JPQL的IS EMPTY部分,所以无论用户如何,我都可以返回第2组。我的问题是如何在列表中查询。
任何指针都会很好。
感谢您的帮助
答案 0 :(得分:0)
我想我拥有它。答案是左边加入列表。
例如
SELECT g FROM Groups g left join fetch g.users u where (g.users IS EMPTY OR (u.id = :id))
群组是我的实体,其中包含用户列表