Java 在春季将regex查询与hibernate结合使用

Java 在春季将regex查询与hibernate结合使用,java,mysql,regex,spring,hibernate,Java,Mysql,Regex,Spring,Hibernate,我能够在查询浏览器(my sql)中启动查询,并能够从title REGEXP“dem”所在的详细信息中检索如下记录SELECT* 但当我在服务器端使用类似类型的代码时,我给出的错误是意外的标记:REGEXP 在web上搜索之后,hibernate似乎不支持REGEXP。但也给出了一些与此无关的解决方案。我只需要在hibernate中通过查询来处理这个问题 sbQuery.append("select distinct id from deatil id"); sbQuery.append("w

我能够在查询浏览器(my sql)中启动查询,并能够从title REGEXP“dem”所在的详细信息中检索如下记录
SELECT*

但当我在服务器端使用类似类型的代码时,我给出的错误是意外的标记:REGEXP

在web上搜索之后,hibernate似乎不支持REGEXP。但也给出了一些与此无关的解决方案。我只需要在hibernate中通过查询来处理这个问题

sbQuery.append("select distinct id from deatil id");
sbQuery.append("where ((id.title like :keyword) OR (id.description like :keyword) ");
您可以为数据库添加自己的Hibernate方言

我尝试添加一个比这个复杂一点的自定义函数,但我遇到了一些问题,希望更简单的函数可以开箱即用

    Query query = session.createSQLQuery("select distinct id from deatil id where (id.title like :keyword) OR (id.description like :keyword)")
.setParameter(“关键字”,关键字); 列表结果=query.List()


缺少“),必须设置参数值。

相关:谢谢,但对我来说,这不起作用,因为我只需要正则表达式。我已经申请了解决方法,但这些方法不能满足我的要求,否则会产生更多问题。任何其他方式或暗示这不会被视为正则表达式。例如,我有一个字符串“我的ARG学生很好地为应用程序和内容付费”,我想搜索好的,然后我需要将like放入循环条件中。为了避免这种情况,我想使用正则表达式。简而言之,关键字参数可以包含许多不同的关键字。