【发布时间】:2018-02-12 03:16:17
【问题描述】:
我使用弹簧数据...并且我有一个具有多对多关系的实体。
所以我想做这样的请求:
@Query("SELECT d FROM Data d WHERE ((?2) IS NULL OR d.categories IN (?2))")
其中?2 对应一个列表,categories 也是来自Data 的(另一个实体的)列表。
但这不起作用......有什么想法吗? :)
PS:我看到了一个解决方案:
@Query("SELECT r FROM Data r WHERE (?3 = 0L OR ?3 = (SELECT COUNT(cate.id) FROM Data r2 JOIN r2.categories cate WHERE r.id = r2.id AND cate IN ?2 ))")
但这是由 hibernate 生成的糟糕请求,并不是我想要的......
【问题讨论】:
标签: java sql spring hibernate jpql