我用Hibernate HQL编写了一个查询,该查询使用timestamp列更新了一些记录:
where子句:
creationTime >= :creationTimeFrom and creationTime <= :creationTimeTo
设置参数:
query.setDate("creationTimeFrom", creationTimeFrom);
query.setDate("creationTimeTo", creationTimeTo);
在某些情况下,查询结果与记录不正确匹配,并且某些记录没有更新,
我猜问题出在时区上.oracle服务器时区设置为UTC。但是客户端的时区不同。
答案 0 :(得分:0)
您可能想尝试显式设置TimeZone,否则将使用默认的JVM日历。
TimeZone.setDefault( TimeZone.getTimeZone( "UTC" ) );
从Hibernate 5.2.3开始:
settings.put(
AvailableSettings.JDBC_TIME_ZONE,
TimeZone.getTimeZone( "UTC" )
);
答案 1 :(得分:0)
我在HQL代码中使用了不赞成使用的类。 我已解决问题已解决。