JPA to_char函数用于Java中的日期

时间:2018-02-02 09:29:17

标签: java oracle jpa datetime-format

我有这个查询和一个oracle DB。当我尝试执行它时,我从未收到过DB的回答。编辑:查询返回0行。我知道这是针对Date的,因为如果我使用TO_CHAR与Toad相同的查询,这是有效的。我如何添加Java代码TO_CHAR函数?谢谢。

       public List<PrivacySospensiva> getAllByCf(String cf,Long idsuperpratica,String stato,Date dataCensimento){
            TypedQuery<PrivacySospensiva> query = entityManager.createQuery("select u from PrivacySospensiva u where u.id_superpratica = :idSuperpratica AND u.stato = :stato AND u.cf = :cf AND u.data_censimento = :dataCensimento", PrivacySospensiva.class);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH24:mm:SS");
            sdf.format(dataCensimento);
            query.setParameter("idSuperpratica", idsuperpratica);
            query.setParameter("stato",stato);
            query.setParameter("cf",cf);
            query.setParameter("dataCensimento",dataCensimento);
            List<PrivacySospensiva> result = query.getResultList();
            return result;

       }

1 个答案:

答案 0 :(得分:0)

日期格式错误,应为yyyy-MM-dd HH:mm:ss(0-23小时)或yyyy-MM-dd kk:mm:ss(1-24小时)。 SS将是微秒。

幸运的是,代码不使用它;都可能是一个实验。人们需要这样做:

String t = sdf.format(dataCensimento);
query.setParameter("dataCensimento", t);

sdf.format不会改变dataCensimento。)