Hibernate中的正则表达式查询

Shw*_*nka 6 java mysql hibernate

我希望在Hibernate中实现以下查询的效果,但我无法找到实现此目的的方法.

select e.TITLE from EVENTS e where e.TITLE REGEXP 'fri|pro';
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

Aug*_*sto 6

Hibernate QL不支持正则表达式(有些引擎的正则表达式支持很差).您可以将查询转换为

select e.TITLE from EVENTS e where (e.TITLE = 'fri' OR e.TITLE = 'pro');
Run Code Online (Sandbox Code Playgroud)

要么

select e.TITLE from EVENTS e where e.TITLE in ('fri','pro');
Run Code Online (Sandbox Code Playgroud)

但是对于真正的正则表达式支持,你必须编写自定义SQL(如果你的数据库确实支持正则表达式)