我已经使用Java创建了一个程序,该程序连接到数据库并允许用户提交记录。该记录包括唯一的参考号和开始日期(变量:StartedDate)。

我想让用户搜索两个日期(一个月的第一天和今天的日期)之间提交的案件数量。

到目前为止,我有SQL查询

select * from cases where StartDate>'***' and Date<'****'


在Java中,

select * from cases where StartedDate>'1stMONTHDATE' and Date<'TODAYSDATE'


我的第一个问题是-在数据库中,没有一个称为“日期”的字段,因为它必须每天更改。我如何将其称为Java自动生成的日期?

另外,我将如何实现Count()方法以返回返回的记录数的整数?

最佳答案

SELECT * FROM cases WHERE StartedDate BETWEEN :startDate AND :endDate


在JPQL中:

public List<Cases> findAllEvents(Date startDate, Date endDate) {
  List<Cases> allCases = entityManager.createQuery("SELECT * FROM cases WHERE StartedDate BETWEEN :startDate AND :endDate")
  .setParameter("startDate", startDate, TemporalType.DATE)
  .setParameter("endDate", endDate, TemporalType.DATE)
  .getResultList();
        return allCases ;
    }

10-08 14:45