首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpringDataJpa:多ContainingIgnoreCase

SpringDataJpa:多ContainingIgnoreCase
EN

Stack Overflow用户
提问于 2015-11-18 23:10:26
回答 2查看 1.2K关注 0票数 1

我下面有些东西。基本上,我想得到所有的书包含某些关键字在他们的标题或描述。弹簧一直给我这种方法上的错误。单选的标题或下降的作品,但我只是不能把他们放在一起。我遗漏了什么?

作品:

代码语言:javascript
复制
findBookByTitleContainingIgnoreCase(String keyWord)

findBookByDescrContainingIgnoreCase(String keyWord)

不工作:findBookByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(String keyWord)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-19 03:48:49

这将起作用:

代码语言:javascript
复制
findByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(String title, String descr);

然后,可以将此方法称为bookRepository.findByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(keyword, keyword)

记住使用Spring生成查询的一种简单方法是记住,方法名称最终成为JDBC PreparedStatement,方法名称中的每个关键字(class属性)都成为PreparedStatement中的一个参数。因此,在执行PreparedStatement时,每个参数都必须绑定到一个值。因此,该方法必须具有相同数量的参数才能使PreparedStatement正确执行。

当您将这种想法应用于您的问题时,您将看到您的方法名有两个关键字-- TitleDescr,但只有一个参数。因此,在执行PreparedStatement时,PreparedStatement中的第二个参数仍然是未绑定的;因此出现了错误。提供这两个参数可以解决这个问题。

Github上带有工作测试用例的示例代码。

票数 4
EN

Stack Overflow用户

发布于 2015-11-19 04:02:11

findBookByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(String keyWord, String keyWord2);解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33792288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档