Регулярное выражение с критериями
У меня есть таблица, в которой хранятся определенные слова или группы слов. Я хочу выбрать записи, которые начинаются с заглавной буквы, не содержат пробелов и содержат только буквы. Мой SQL выглядит так:
select word from words where w_id > 100 AND word REGEXP '^[A-Z][A-Za-z]*$' limit 2000;
Как мне сделать то же самое, используя критерии?
1 ответ
Решение
Попробуй это:
List words = session.createCriteria(Word.class)
.setProjection(Projections.property("word"))
.add(Restrictions.and(Restrictions.gt("w_id",100), Restrictions.sqlRestriction(word REGEXP '^[A-Z][A-Za-z]*$')))
.setMaxResults(2000).list();