Мне нужно отправить запрос для извлечения значений, имеющих определенную группу символов, как показано ниже:
Позволяет сказать, что меня интересует "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();