我想执行搜索以特定字母开头的特定字符串.因此,例如,如果起始字母表是'A'den,则它应该产生一个结果,该结果将包含所有带字母表的字符串'A'.
我该如何实现这一目标?
我的查询如下所示
Query qry = session.createQuery("From RegistrationBean as rb where rb."+searchCriteria+" like %?%");
qry.setString(0,searchField);
Run Code Online (Sandbox Code Playgroud)
Ale*_*r M 24
将您的查询更改为:
Query qry = session.createQuery("From RegistrationBean as rb where rb."+searchCriteria+" like ?");
qry.setString(0, "%"+searchField+"%");
Run Code Online (Sandbox Code Playgroud)
May*_*urB 13
您可以使用标准来使用
session = sessionFactory.openSession();
Criteria query = session.createCriteria(Pojo.class);
query.add(Restrictions.like("column", "a", MatchMode.START));
Run Code Online (Sandbox Code Playgroud)
它将为您提供以alpha-bate'a'开头的字符串列表.
改成
Query qry = session.createQuery("From RegistrationBean as rb where rb ";
if (searchField != null)
{
qry = qry + " where rb.searchCriteria like :searchField ";
}
if ( searchField!= null)
{
query.setString("searchField","%"+searchField+"%");
}
Run Code Online (Sandbox Code Playgroud)
这条路
createQuery("from RegistrationBean as rb where rb.:searchCriteria like '%:searchField%'");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58339 次 |
| 最近记录: |