我正在尝试对Oracle数据库进行本地查询,但是我只是没有得到什么。
我有一个包含多行的表,我知道oid = 1234的记录有最新的updatetimeutc字段,其中updatetimeutc是Date字段。所以我做了以下几点:
Query query1 = entityManager.createNativeQuery("select updatetimeutc from TABLE where oid=1234");
List<Object[]> resultList = query1.getResultList();
Object[] os = resultList.get(0);
Date date = os[0];
Query query2 = entityManager.createNativeQuery("select oid, updatetimeutc from TABLE where updatetimeutc > :d");
query.setParameter("d", date);
resultList = query.getResultList();
此时,我期待resultList.size()== 0,但这不是正在发生的事情。我在查询1中得到了返回给我的同一行。
有人可以解释为什么会这样或者我做错了吗?
由于
答案 0 :(得分:0)
解决方案是确保使用Oracle的JDBC驱动程序版本,该驱动程序为返回DATE字段的本机查询生成java.sql.Timestamp。