特定のアルファベットで始まる特定の文字列を検索したい。たとえば、開始アルファベットが'A'
denの場合、アルファベット'A'
のすべての文字列を含む結果が生成されます。
どうすればこれを達成できますか?
私のクエリは以下のとおりです
Query qry = session.createQuery("From RegistrationBean as rb where rb."+searchCriteria+" like %?%");
qry.setString(0,searchField);
クエリをこれに変更します。
Query qry = session.createQuery("From RegistrationBean as rb where rb."+searchCriteria+" like ?");
qry.setString(0, "%"+searchField+"%");
Likeを使用するための基準を使用できます
session = sessionFactory.openSession();
Criteria query = session.createCriteria(Pojo.class);
query.add(Restrictions.like("column", "a", MatchMode.START));
これは、アルファバイト '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+"%");
}
こちらです
createQuery("from RegistrationBean as rb where rb.:searchCriteria like '%:searchField%'");