Java Spring数据类jpa查询不使用末尾的空格?
下面是我在MySQL编辑器中运行的查询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
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);