Jpa 如何在jpql查询中比较日期
嗨,我想列出我的数据库中日期属于当前月份的所有当前记录Jpa 如何在jpql查询中比较日期,jpa,jpql,Jpa,Jpql,嗨,我想列出我的数据库中日期属于当前月份的所有当前记录 where d.jourvisite BETWEEN :startDate AND :endDate 这是我的职责 public List<Visite> getvisiteDétaillé() { Calendar MyEnddate; MyEnddate = Calendar.getInstance(); MyEnddate.add(Calendar.MONTH, 1); Typed
where d.jourvisite BETWEEN :startDate AND :endDate
这是我的职责
public List<Visite> getvisiteDétaillé() {
Calendar MyEnddate;
MyEnddate = Calendar.getInstance();
MyEnddate.add(Calendar.MONTH, 1);
TypedQuery<Visite> query;
query =
em.createQuery("SELECT v FROM Visite v JOIN v.datevisiteList d where d.jourvisite BETWEEN :startDate AND :endDate", Visite.class);
query.setParameter("startDate",Calendar.getInstance().getTime());
query.setParameter("endDate",MyEnddate,TemporalType.DATE);
System.out.println("date actual"+Calendar.getInstance().getTime());
System.out.println("date After 30 days"+MyEnddate.getTime());
return query.getResultList();
}
public List getvisitoredétaillé(){
日历日期;
MyEnddate=Calendar.getInstance();
MyEnddate.add(Calendar.MONTH,1);
类型查询;
质疑=
em.createQuery(“从Visite v中选择v并加入v.datevisiteList d,其中d.jourvisite介于:startDate和:endDate之间”,Visite.class);
setParameter(“startDate”,Calendar.getInstance().getTime());
setParameter(“endDate”,MyEnddate,TemporalType.DATE);
System.out.println(“实际日期”+Calendar.getInstance().getTime());
System.out.println(“30天后的日期”+MyEnddate.getTime());
返回query.getResultList();
}
我确信我在数据库中有一些适合查询的记录,但当我显示结果时,在javadoc中没有任何显示,没有语法错误,因为它们提到:
映射为java.sql.Date
但是您正在为endDate
参数传递日历
只需像对待startDate
参数那样传入Date
实例:
query.setParameter("endDate", MyEnddate.getTime());
PS您应该遵循最常用的方法来提高代码的可读性。使用“无语法错误”是指:运行时没有错误或异常?是的!!没有错误..只是我在system.outpls中写的内容编辑原始问题,因为它可能会混淆其他人,调用的SQL是什么?(在JPA提供商的日志中)。