【发布时间】:2021-02-13 07:05:03
【问题描述】:
我正在测试使用 Hibernate 从我的数据库 (MySQL) 中检索数据的不同方法。而且我知道可以在 HQL 中使用LIKE,就像我们在 SQL 中一样。但是当我尝试REGEXP 时出现以下错误
Exception in thread "main" java.lang.IllegalArgumentException:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: REGEXP near line 1, column 54 [from com.jithin.hibernate.entity.Student where fname REGEXP '@gmail.com$']
我也尝试过RLIKE 和REGEXP_LIKE 等不同的形式。但错误是一样的。那么为什么 HQL 支持 LIKE 运算符而 REGEXP 不支持呢?有没有办法实现?
我使用的代码如下
session.beginTransaction();
List<Student> students = session.createQuery("from Student where email REGEXP 'gmnail.com$'"),getResultList();
session.getTransaction().commit();
【问题讨论】:
-
您好,请编辑您的问题并将截图替换为实际代码sn-p。
-
@AlexRudenko 完成
标签: java mysql sql hibernate hql