【问题标题】:eclipselink jpa operator detailseclipselink jpa 操作员详细信息
【发布时间】:2013-05-30 14:05:27
【问题描述】:

我正在使用 2.4.1 eclipse 链接和 oracle。 This document 列出了几个运算符,可以在编写查询时使用。还有一个例子。我想使用 dateDifference 函数。在哪里可以找到使用这些运算符时要传递的参数的详细信息。 一些示例代码会很棒。

【问题讨论】:

    标签: java oracle datetime jpa eclipselink


    【解决方案1】:

    API 的最佳来源是 Expression 类

    http://www.eclipse.org/eclipselink/api/2.5/org/eclipse/persistence/expressions/Expression.html#dateDifference%28java.lang.String,%20java.util.Date%29

    SELECT e FROM Employee e WHERE OPERATOR('DateDifference ', e.startDate, 'year', e.endDate) > 10
    

    您也可以使用 SQL() 操作。

    【讨论】:

    • 感谢@James,您的帮助。我已准备好将您的答案标记为已接受。 'DateDifference' 中的空间真的很棘手,我可能从来没有想过这一点。但看起来 DateDifference 需要 DB 的支持,而 Oracle 不支持。错误是java.sql.SQLSyntaxErrorException: ORA-00904: "DATEDIFFERENCE": invalid identifier。我的假设是否正确,或者有什么可以与 Oracle 一起使用的。
    • 我会使用 SQL 标准的 EXTRACT 函数。 EclipseLink 在 JPQL 中直接支持这个功能。
    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多