Регулярное выражение с критериями

У меня есть таблица, в которой хранятся определенные слова или группы слов. Я хочу выбрать записи, которые начинаются с заглавной буквы, не содержат пробелов и содержат только буквы. Мой 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();
Другие вопросы по тегам