Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringDataJpa:多个包含IgnoreCase_Java_Spring_Spring Data_Spring Data Jpa - Fatal编程技术网

Java SpringDataJpa:多个包含IgnoreCase

Java SpringDataJpa:多个包含IgnoreCase,java,spring,spring-data,spring-data-jpa,Java,Spring,Spring Data,Spring Data Jpa,我有下面这样的东西。基本上我想让所有的书在标题或描述中都包含某些关键词。Spring一直给我这个方法的错误。标题或描述的单一选择是可行的,但我只是不能把它们放在一起。我错过了什么 作品: findBookByTitleContainingIgnoreCase(String keyWord) findBookByDescrContainingIgnoreCase(String keyWord) 不起作用: findbookbytletcontainingignorecase或escrconta

我有下面这样的东西。基本上我想让所有的书在标题或描述中都包含某些关键词。Spring一直给我这个方法的错误。标题或描述的单一选择是可行的,但我只是不能把它们放在一起。我错过了什么

作品:

findBookByTitleContainingIgnoreCase(String keyWord)

findBookByDescrContainingIgnoreCase(String keyWord)
不起作用:
findbookbytletcontainingignorecase或escrcontainingignorecase(字符串关键字)
这将起作用:

findByTitleContainingIgnoreCaseOrDescrContainingIgnoreCase(String title, String descr);
然后,您可以将此方法称为
bookRepository.findBytletContainingIgnoreCase或escrContainingIgnoreCase(关键字,关键字)

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

将此思想应用于问题时,您将看到方法名称有两个关键字-
Title
Descr
,但只有一个参数。因此,执行
PreparedStatement
时,
PreparedStatement
中的第二个参数保持未绑定状态;因此出现了错误。提供这两个参数可以解决问题


打开工作测试用例的示例代码。

findbookbytletcontainingignorecase或escrcontainingignorecase(字符串关键字,字符串关键字2)修复了我的问题