SpringJPA中自定义sql的参数传递问题

Anoth 2015-11-05 02:45:58
@Query(value="select * from tb_userinfo where account not in (:accounts)",nativeQuery=true)
List<Object> personRegisterRecords(@Param("accounts")String accounts);
用这样的方式查询,accounts如果是单个账号时可以,但是多个账号以'aaa','bbb' 的字符串传入则无效。把参数改成String[] 类型也不行。那么in()里面的参数应该如何传递呢?
...全文
2869 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1
@Query("select p from PhoneUseinfo p where p.content=:phonenumber and p.create_at>=:time") List<PhoneUseinfo> findByContentAndCreate_at(@Param("phonenumber")String phonenumber,@Param("time") Date time); 这样的
wgale025 2016-12-27
  • 打赏
  • 举报
回复
Page<User> findByIdInOrderByUseCountDesc( Collection<Long> ids, Pageable var1); IdIn id 必须是一个集合 。 就可以生成 in () 的方式了
muzipeng2008 2015-12-30
  • 打赏
  • 举报
回复
楼主的问题解决没,我也遇到同样的问题了,跪求答案
mtian2020 2015-11-05
  • 打赏
  • 举报
回复
换个方式吧,一个需求出来总能有解决的方案,这个方案不行就换一个
Anoth 2015-11-05
  • 打赏
  • 举报
回复
引用 4 楼 yanghaimingg 的回复:
[quote=引用 2 楼 Anoth 的回复:] [quote=引用 1 楼 yanghaimingg 的回复:] in (:account1,:accounts2) in的写法是这样的,你多个参数分开传进来试试
accounts是动态获取的,事先没法知道一共有几个[/quote] 或者你可以按照in的传参格式拼接试试[/quote] 就是拼接的不行,应该是参数中的引号被转义了。不知道该怎么传了。。。
mtian2020 2015-11-05
  • 打赏
  • 举报
回复
引用 2 楼 Anoth 的回复:
[quote=引用 1 楼 yanghaimingg 的回复:] in (:account1,:accounts2) in的写法是这样的,你多个参数分开传进来试试
accounts是动态获取的,事先没法知道一共有几个[/quote] 或者你可以按照in的传参格式拼接试试
mtian2020 2015-11-05
  • 打赏
  • 举报
回复
那你这种处理就有问题了,换个方式处理吧
Anoth 2015-11-05
  • 打赏
  • 举报
回复
引用 1 楼 yanghaimingg 的回复:
in (:account1,:accounts2) in的写法是这样的,你多个参数分开传进来试试
accounts是动态获取的,事先没法知道一共有几个
mtian2020 2015-11-05
  • 打赏
  • 举报
回复
in (:account1,:accounts2) in的写法是这样的,你多个参数分开传进来试试

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧