【问题标题】:Does Eclipselink support queries containing regular expression?Eclipselink 是否支持包含正则表达式的查询?
【发布时间】:2012-02-17 14:29:13
【问题描述】:

我已经看到像 MySQL 这样的 DBMS 支持包含正则表达式的查询。 Eclipselink 支持吗?

我必须检索具有与某些正则表达式匹配的某些字符串属性的实体

SELECT X FROM Person X WHERE X.name <some keyword> (A-Z)*

【问题讨论】:

    标签: jpa eclipselink jpql


    【解决方案1】:

    MySQL 使用 REGEX 或 RLIKE 进行正则表达式查询。 JPQL 不支持这些运算符,因此您可以使用原生 SQL 查询。

    在 EclipseLink 中,您可以为这些定义自己的 ExpressionOperator,并在 Expression 查询中使用它,但目前还不能用于 JPQL。 JPQL 确实支持使用 FUNC 调用数据库函数,但这些函数的语法与函数不同。您可以扩展 MySQLPlatform 以制作 #like us REGEX 或 RLIKE。

    请在 EclipseLink 上为此记录一个错误。现在大多数数据库都支持正则表达式,所以这种支持应该在 JPQL 中可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 2014-08-31
      • 2011-10-18
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多