如何在 HQL 中编写类似查询

2022-09-02 00:15:00

我想搜索以特定字母表开头的特定字符串。

因此,例如,如果起始字母表是,那么它应该产生一个结果,该结果将包含所有带有字母表的字符串。'A''A'

我如何做到这一点?

我的查询如下所示:

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

答案 1

将您的查询更改为:

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

答案 2

您可以使用条件来使用类似

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

它将为您提供以alpha-bate 'a'开头的字符串列表。


推荐