如何根据特定顺序对休眠结果进行排序
2022-09-01 13:11:50
我需要发送一个查询来检索具有特定字符组的值,如下所示:
假设我对“XX”感兴趣,所以它应该搜索其值以“XX”开头或具有“XX”(空格XX)的任何字段。例如,和 是有效结果。XXCDEF
PD XXRF
CMKJIEK XX
我有以下查询返回正确的结果,但我需要以一种方式对它们进行排序,即它首先返回开头的那些结果,然后返回其他结果。具体如下:XX
XXABCD
XXPLER
XXRFKF
AB XXAB
CD XXCD
ZZ XXOI
POLO XX
法典
Criteria criteria = session.createCriteria(Name.class, "name")
.add(Restrictions.disjunction()
.add(Restrictions.ilike("name.fname", fname + "%"))
.add(Restrictions.ilike("name.fname", "%" + " " + fname + "%"))
)
.setProjection(Projections.property("name.fname").as("fname"));
List<String> names = (List<String>) criteria.list();