Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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 Spring数据类jpa查询不使用末尾的空格?_Java_Mysql_Jpa_Spring Data Jpa - Fatal编程技术网

Java Spring数据类jpa查询不使用末尾的空格?

Java Spring数据类jpa查询不使用末尾的空格?,java,mysql,jpa,spring-data-jpa,Java,Mysql,Jpa,Spring Data Jpa,下面是我在MySQL编辑器中运行的查询 SELECT * FROM on_plan_test.line_item_meta WHERE name LIKE '%total %'; 在这里,我在单词“total”后面加了一个空格,这个查询在MySQL workbench中正确地给出了结果,得到了三条记录 下面是我在“姓名”栏中的数据。 但我在JAVA上运行的查询是相同的 @Query(value = "SELECT NEW com.onplan.responsepayload.Line

下面是我在MySQL编辑器中运行的查询

SELECT * FROM on_plan_test.line_item_meta WHERE name LIKE '%total %';
在这里,我在单词“total”后面加了一个空格,这个查询在MySQL workbench中正确地给出了结果,得到了三条记录

下面是我在“姓名”栏中的数据。 但我在JAVA上运行的查询是相同的

@Query(value = "SELECT NEW com.onplan.responsepayload.LineItemForAutoCompleteResponsePayload(sl.lineItemId,s1.sheetId) from LineItemMeta s1 where s1.name like %?1% ")
public List<LineItemForAutoCompleteResponsePayload> getLineItemListForAutoComplete( String name);
     
@Query(value=“从LineItemMeta s1中选择NEW com.onplan.responsepayload.LineItemForAutoCompleteResponsePayload(sl.lineItemId,s1.sheetId),其中s1.name类似于%?1%”)
公共列表getLineItemListForAutoComplete(字符串名称);
上面的查询没有给出结果。在“name”变量中,我传递的是“total”。(带一个空格的单词总数)

我做错了什么?你应该试试这个

 @Query(value = "SELECT NEW com.onplan.responsepayload.LineItemForAutoCompleteResponsePayload(sl.lineItemId,s1.sheetId) from LineItemMeta s1 where s1.name like concat('%',:name, '%')")
public List<LineItemForAutoCompleteResponsePayload> getLineItemListForAutoComplete(@Param("name") String name);
@Query(value=“从LineItemMeta s1中选择NEW com.onplan.responsepayload.LineItemForAutoCompleteResponsePayload(sl.lineItemId,s1.sheetId),其中s1.name如concat('%,:name,'%)”)
公共列表getLineItemListForAutoComplete(@Param(“name”)字符串名);

我已经实现了您的解决方案,但仍然没有数据。请尝试其他解决方案。它对我有用。我已经编辑了答案。不幸的是,新的解决方案也不起作用,令人惊讶的是它对您的效果如何。使用
Like
Like请注销实际执行的语句,包括绑定参数。如果只传入
“total”
而没有空格,或者只传入
“t”
,它是否有效?
 @Query(value = "SELECT NEW com.onplan.responsepayload.LineItemForAutoCompleteResponsePayload(sl.lineItemId,s1.sheetId) from LineItemMeta s1 where s1.name like concat('%',:name, '%')")
public List<LineItemForAutoCompleteResponsePayload> getLineItemListForAutoComplete(@Param("name") String name);