我正在尝试编写一个查询,该查询将检查数组中的所有项是否都属于单个记录。
就像两个变量一样,我可以写
@Query( "from #{#entityName} c where c.channelType = 'group' and exists ( from UserChannel u where c.id = u.channel.id and u.user.id = :userId ) and exists (from UserChannel u where c.id = u.channel.id and u.user.id = :userId2)" )
Set< Channel > findGroupChannelsByUserIds( @Param( "userId" ) int userId, @Param( "userId2" ) int userId2 );
如果我的第二个参数是userid数组,那么我该如何编写查询呢?
答案 0 :(得分:0)
我不是100%你的意思&#34;阵列的所有元素都满足条件&#34;。但看起来你需要的是一个&#39; in&#39;条件。
你可以说
...u.user.id in :userId2
其中userId2是List。 (适用于Spring数据1.9.4 - 可能不适用于早期版本)
答案 1 :(得分:0)
我按照这个答案:Spring JPA Repository dynamic query来解决它。
我必须创建另一个interface
并提供相应的实现。然后我在repository
。