如何在JPA中使用to_char函数从时间戳中获取记录

时间:2016-01-19 08:39:21

标签: java postgresql jpa

我尝试使用实体从eclipse链接查询和数据库。当我使用普通查询记录从当前日期返回时,当我使用JPA时返回零记录。我在哪里可能做错了,或者如何在JPA中使用to_char函数我的数据库是postgresql。 返回记录的普通sql查询

select * 
from mytable 
where  to_char(transaction_date, 'YYYY-MM-DD') = '2016-01-19';

myEntity所

@Temporal(javax.persistence.TemporalType.DATE)
 private Date transaction_date;
  EntityManager e = EntityMgr.MyFact().createEntityManager();
        e.getTransaction().begin();
 Query qry = e.createQuery("from MyEntity u where  u.transaction_date=?1");
  qry.setParameter(1, new Date(), TemporalType.DATE);

2 个答案:

答案 0 :(得分:0)

你试过qry.setParameter(1,new Date(),TemporalType.TIMESTAMP);

答案 1 :(得分:0)

您可以使用to_char

使用operator功能

OPERATOR('ToChar', transaction_date,'YYYY-MM-DD')= '2016-01-19';