JVM时区与我的数据库时区(相隔1小时)不同。
以下伪代码是否存在明显错误。我有一个更新超过一小时未更新的行的过程。
伪代码
while(true){
// Pick rows which were not updated in the last hour
preparedStatement = connection.prepareStatement("select * from data where refresh_date<sysdate-(60/1440) and rownum <50");
// Update refreshed_date of each row which is going to be updated
//(the ones which were picked using the above query)
preparedStatement = connection.prepareStatement("update data set refresh_date=sysdate where id =?");
//then update the actual row
}
为什么我问这个?
该过程停留在同一组50行中。
select to_char(refresh_date,'dd/mm/yy hh24:mi') from data;
给我JVM时间,表明更新查询正在使用JVM时间。 select以相同的方式工作还是选择数据库时间?