在Spring-data JPA中,无论如何都要创建一个方法查询,实际上是通过像?
我有以下方法查询
public MakeModel findByModelIgnoreCase(String model);
我真正想要的是一个表达方式。我是否需要创建Criteria或@Query注释?我问得太多了吗?
//Stupid example of what I want to be able to do
public MakeModel findByFuzzyModelIgnoreCase(String model);
真的,我猜它的核心,我想做一个表搜索。我在Spring Data下面使用了Hibernate,所以我想我可以使用像Hibernate Search这样的搜索api。我愿意接受这里的建议。
答案 0 :(得分:26)
如果您不想添加"%"手动,您可以使用以下查询方法:
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Panel ID="PanelCard" runat="server" Visible="false" OnLoad="RadioButton1_CheckedChanged">
<%--Form here--%>
<asp:Button ID="Button1" runat="server" Text="Submit Payment" ClientIDMode="Static" CssClass="formbutton" />
</asp:Panel>
<asp:Panel ID="PanelCheck" runat="server" Visible="false" OnLoad="RadioButton1_CheckedChanged">
<%--Form here--%>
<asp:Button ID="Button1" runat="server" Text="Submit Payment" ClientIDMode="Static" CssClass="formbutton" />
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
答案 1 :(得分:21)
也支持:
MakeModel findByModelLikeIgnoreCase(String model);
当您调用该方法时,请使用以下方法:
在开始时添加"%"
表示严格的开始匹配无关紧要,
最后一样,或者你可以使用其中一个,这取决于你想要的。
MakeModel makeModel = findByModelLikeIgnoreCase("%"+model+"%");
如果您的品牌型号为test
且要比较的字符串为"%"+model+"%"
则为:
es is a match , T is a match , test is a match
要比较的字符串是model+"%"
:
te is a match , es is not .
答案 2 :(得分:-2)
如果要将“%”添加到一个日期源,请键入Date,如何执行,就像这样 MakeModel findByModelStartingWithIgnoreCase(日期模型);