【问题标题】:JDO support for "like" operatorJDO 对“like”运算符的支持
【发布时间】:2017-11-08 12:16:34
【问题描述】:

我正在学习 JDO。我将它与 sql 数据库一起使用。我没有看到谈论常见 sql“like”运算符的示例。 似乎没有与非 sql 数据库兼容的“like”运算符。 我需要它。如何使用 JDO?

我补充说我使用 Datanucleus 版本 4 作为 JDO 实现,因为我使用的是 Apache Isis。 “匹配”似乎只在版本 5 中实现。

【问题讨论】:

  • 试试正则表达式。

标签: jdo


【解决方案1】:

JDOQL 支持对象上的方法,并遵循 Java 语法。因此它支持String.matches,提供正则表达式匹配。请参阅 JDO 规范和this link in the DataNucleus docs

【讨论】:

  • 您的回复是正确的。我现在看到我正在使用 DataNucleus 4,事实上,没有“匹配”方法。第 4 版文档与第 5 版大不相同,看起来像是另一个产品。
  • "matches" 在每个版本的 DataNucleus 中都实现了,并且在 JPOX 中是它的前身。它在 JDO SPEC 中,因此任何兼容的实现都必须提供它
【解决方案2】:

使用由 Isis 1.15(核心 4.1.1、jdo-query 4.0.5 等)解析的 datanucleus,我可以在定义为字符串的查询中使用“匹配”。但我不能在 TypesafeQuery 中使用它,StringExpression 没有称为“匹配”的方法。

【讨论】:

    猜你喜欢
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 2023-03-26
    • 2017-02-11
    • 2018-12-13
    • 2020-10-26
    相关资源
    最近更新 更多