繁体   English   中英

带数组的动态Spring Data JPA查询

[英]Dynamic Spring Data JPA query with array

我正在尝试编写一个查询,该查询将检查数组中的所有项目是否都属于单个记录。

就像我可以写两个变量一样

 @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 );

如果我的第二个参数是用户ID数组,那么我该如何编写查询呢?

我不是100%的意思是“数组的所有元素都满足条件”。 但是看起来您需要的是“处于”状况。

你可以说

...u.user.id in :userId2

其中userId2是一个列表。 (适用于Spring数据1.9.4-可能不适用于早期版本)

我遵循以下答案: Spring JPA Repository动态查询来解决它。

我必须创建另一个interface并提供该interface实现。 然后,我在repository扩展了该接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM