时间戳

时间:2017-11-24 17:37:56

标签: jpa spring-data-jpa jpql

我正在使用JpaPagingItemReader创建批处理作业 我的查询在作业配置中看起来像这样:

<property name="queryString" value="SELECT a FROM EntityName a
                                        WHERE a.status = 'RUNNING'
                                        AND a.validTo = '2017-12-13'"/>

当我执行作业时,我收到以下异常:

java.sql.SQLDataException: ORA-01843: not a valid month

如何将正确的格式传递给查询以从数据库中获取?数据库中的列是正常sql中的时间戳我会像这样做

SELECT * FROM EntityName
WHERE VALID_TO = to_timestamp('2017-12-12', 'yyyy-mm-dd')

1 个答案:

答案 0 :(得分:0)

JPQL遵循日期文字的SQL和JDBC语法:

Date - {d 'yyyy-mm-dd'} - for example: {d '2010-12-31'}
Time - {t 'hh:mm:ss'} - for example: {t '23:59:59'}
Timestamp - {ts 'yyyy-mm-dd hh:mm:ss'} - for example: {ts '2011-01-03 14:59:59'}