22

特定のアルファベットで始まる特定の文字列を検索したい。

したがって、たとえば、開始文字が の場合'A'、文字列を含むすべての文字列を含む結果が生成されるはず'A'です。

どうすればこれを達成できますか?

私のクエリは次のとおりです。

Query qry = session.createQuery("From RegistrationBean as rb where rb."+searchCriteria+"  like %?%");
qry.setString(0,searchField);
4

5 に答える 5

29

クエリを次のように変更します。

Query qry = session.createQuery("From RegistrationBean as rb where rb."+searchCriteria+"  like ?");
qry.setString(0, "%"+searchField+"%");
于 2012-11-26T10:01:11.860 に答える
15

あなたはのように使用するための基準を使用することができます

session = sessionFactory.openSession();
Criteria query = session.createCriteria(Pojo.class);
query.add(Restrictions.like("column", "a", MatchMode.START));

アルファベイト「a」で始まる文字列のリストが表示されます。

于 2012-11-26T09:57:39.413 に答える
11

への変更

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+"%");
}
于 2014-04-14T12:28:38.697 に答える
8

こちらです

createQuery("from RegistrationBean as rb where rb.:searchCriteria like '%:searchField%'"); 
于 2012-11-26T10:33:35.137 に答える
-2
Query qry = session.createQuery("From RegistrationBean as rb where rb."+searchCriteria+" like :sf");
qry.setString("sf",'%'+searchField+'%');

上記のことは私のために働いた:)

于 2012-11-26T10:02:02.270 に答える