【发布时间】:2019-08-31 22:27:12
【问题描述】:
是否可以使用 JPA 保留关键字 CURRENT_DATE、CURRENT_TIME 和 CURRENT_TIMESTAMP 进行选择当前日期/时间/时间戳的可移植 JPA 2.0 查询?
我知道这在 Oracle 11g 中有效:
<named-native-query name="getOracleSysdate">
<query>SELECT TO_CHAR(SYSDATE, 'MM-DD-YYYY HH24:MI:SS') FROM DUAL</query>
</named-native-query>
我知道这在 PostgreSQL 中有效:
<named-native-query name="getPostgreCurrentTimestamp">
<query>SELECT CURRENT_TIMESTAMP</query>
</named-native-query>
我的问题基本上是,第二个查询(针对 PostgreSQL)是否适用于每个数据库? 如果不是,那么是否可以编写 named-query(不是 named-native-query)以使应用程序可移植?至少可以在 PostgreSQL 和 Oracle 11g/12c 之间移植?还是 CriteriaApi 查询?
【问题讨论】:
-
这两个查询返回不同的东西。第一个返回一个字符串(
varchar),第二个返回一个timestamp。 -
我知道,我没有说它们是一样的,我只是说它们都在工作:)
-
我只想从数据库中以任何形式携带当前日期和时间
标签: postgresql jpa oracle11g jpa-2.0 oracle12c