我正在使用JPA / Hibernate组合将实体存储到oracle数据库。
该表包含一个TIMESTAMP(6)
列,用于存储具有时间和毫秒的日期值。
存储和加载实体按预期工作。正确处理实体中java.util.Date字段的“time”部分。
但是当我使用本机查询和where time < :startTime
条件查询表时,startTime只包含日期'30 -Jul-14'。 “时间”部分被截断。
Hibernates查询看起来像:
select documentta0_.id as id1_14_, documentta0_.id_document as id5_14_, documentta0_.host as host2_14_, documentta0_.task as task3_14_, documentta0_.time as time4_14_
from document_task documentta0_
where documentta0_.task='preview'
and documentta0_.host='my.host.uk'
and documentta0_.time>'30-Jul-14'
order by documentta0_.time ASC
orm.xml文件包含以下列定义:
<basic name="time" optional="false">
<column name="time"/>
<temporal>TIMESTAMP</temporal>
</basic>
如何查询日期和时间?
答案 0 :(得分:0)
也许只是格式问题。如果您使用的是p6spy之类的东西,请尝试取消注释并将属性设置为
databaseDialectDateFormat=dd-MM-yy HH:mm:ss.SSSSSS