一尘不染

带条件的正则表达式

hibernate

我有一个表,其中存储了某些单词或单词组。我想选择以大写字母开头,没有空格且仅包含字母的条目。我的SQL看起来像这样:

select word from words where w_id > 100 AND word REGEXP '^[A-Z][A-Za-z]*$' limit 2000;

我如何使用条件来做同样的事情?


阅读 805

收藏
2020-06-20

共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();
2020-06-20