我下面有些东西。基本上,我想得到所有的书包含某些关键字在他们的标题或描述。弹簧一直给我这种方法上的错误。单选的标题或下降的作品,但我只是不能把他们放在一起。我遗漏了什么?
作品:
findBookByTitleContainingIgnoreCase(String keyWord)
findBookByDescrContainingIgnoreCase(String keyWord)不工作:findBookByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(String keyWord)
发布于 2015-11-19 03:48:49
这将起作用:
findByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(String title, String descr);然后,可以将此方法称为bookRepository.findByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(keyword, keyword)。
记住使用Spring生成查询的一种简单方法是记住,方法名称最终成为JDBC PreparedStatement,方法名称中的每个关键字(class属性)都成为PreparedStatement中的一个参数。因此,在执行PreparedStatement时,每个参数都必须绑定到一个值。因此,该方法必须具有相同数量的参数才能使PreparedStatement正确执行。
当您将这种想法应用于您的问题时,您将看到您的方法名有两个关键字-- Title和Descr,但只有一个参数。因此,在执行PreparedStatement时,PreparedStatement中的第二个参数仍然是未绑定的;因此出现了错误。提供这两个参数可以解决这个问题。
在Github上带有工作测试用例的示例代码。
发布于 2015-11-19 04:02:11
findBookByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(String keyWord, String keyWord2);解决了我的问题。
https://stackoverflow.com/questions/33792288
复制相似问题