chr*_*din 16 spring hibernate jpa spring-data
在Spring-data JPA中,无论如何都要创建一个方法查询,实际上是通过像?
我有以下方法查询
public MakeModel findByModelIgnoreCase(String model);
Run Code Online (Sandbox Code Playgroud)
我真正想要的是一个表达方式.我是否需要创建Criteria或@Query注释?我问得太多了吗?
//Stupid example of what I want to be able to do
public MakeModel findByFuzzyModelIgnoreCase(String model);
Run Code Online (Sandbox Code Playgroud)
真的,我猜它的核心,我想做一个表搜索.我在Spring Data下面使用了Hibernate,所以我想我可以使用像Hibernate Search这样的搜索api.我愿意接受这里的建议.
UUH*_*IVS 27
如果您不想手动添加"%",则可以使用以下查询方法:
MakeModel findByModelStartingWithIgnoreCase(String model); //SQL => LIKE 'model%'
MakeModel findByModelEndingWithIgnoreCase(String model); //SQL => LIKE '%model'
MakeModel findByModelContainingIgnoreCase(String model); //SQL => LIKE '%model%'
Run Code Online (Sandbox Code Playgroud)
Raf*_*LDI 21
喜欢也支持:
MakeModel findByModelLikeIgnoreCase(String model);
Run Code Online (Sandbox Code Playgroud)
当您调用该方法时,请使用以下内容:"%"在开始时添加以表示严格的开始匹配无关紧要,最后相同,或者您可以使用其中一个,这取决于您想要的.
MakeModel makeModel = findByModelLikeIgnoreCase("%"+model+"%");
Run Code Online (Sandbox Code Playgroud)
如果你的make模型是test和要比较的字符串是"%"+model+"%":
es is a match , T is a match , test is a match
Run Code Online (Sandbox Code Playgroud)
要比较的字符串是model+"%":
te is a match , es is not .
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14329 次 |
| 最近记录: |