如何在Java持久性查询语言中使用正则表达式?

如何在Java持久性查询语言中使用正则表达式?,java,sql,regex,database,jpql,Java,Sql,Regex,Database,Jpql,我正在使用JavaDB。我试图返回列中的字符包含关键字的记录,例如Apple。不是“菠萝”或“苹果”。我该怎么做 我用em.createNativeQuery(querystring)尝试了这些 从表e中选择e,其中e.column REGEXP'[[::]] 从表e中选择e,其中e.column REGEXP'\\bKEYWORD\\b.' java.sql.SQLSyntaxErrorException:语法错误:遇到“REGEXP” 我也尝试过类似REGEXP_的方法,但是语法错误再次出

我正在使用JavaDB。我试图返回列中的字符包含关键字的记录,例如Apple。不是“菠萝”或“苹果”。我该怎么做

我用em.createNativeQuery(querystring)尝试了这些

从表e中选择e,其中e.column REGEXP'[[::]]
从表e中选择e,其中e.column REGEXP'\\bKEYWORD\\b.'
java.sql.SQLSyntaxErrorException:语法错误:遇到“REGEXP”
我也尝试过类似REGEXP_的方法,但是语法错误再次出现

编辑:
JavaDB使用的语言EJBQL不支持正则表达式。我将数据库移到了mySQL。

JavaDB使用的语言EJBQL不支持正则表达式。我把数据库移到了mySQL

SELECT e FROM Table e WHERE e.column REGEXP '[[:<:]]KEYWORD[[:>:]]'
SELECT e FROM Table e WHERE e.column REGEXP '.\\bKEYWORD\\b.'

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "REGEXP"