Sql server 将SQL语句转换为JPQL语句并使用它

Sql server 将SQL语句转换为JPQL语句并使用它,sql-server,jsp,jpa-2.1,Sql Server,Jsp,Jpa 2.1,我想为时间范围内订购最多的前10个表制作报告:但我不能 我有两个实体类: java(从Diningtable d中选择d) Ordertabledetail.java(从Ordertabledetail o中选择o) 在实体类1中有表的信息,所以我想显示。在实体类别2中,有订单日期 sesionBean中我的“viewReport”方法 public List viewReport(Date startDate, Date endDate) { try {

我想为时间范围内订购最多的前10个表制作报告:但我不能

  • 我有两个实体类:

  • java(
    从Diningtable d中选择d

  • Ordertabledetail.java(
    从Ordertabledetail o中选择o

  • 在实体类1中有表的信息,所以我想显示。在实体类别2中,有订单日期

  • sesionBean中我的“viewReport”方法

        public List viewReport(Date startDate, Date endDate) {
            try {
                Query query = em.createQuery("SELECT o.tableID.tableID AS tableID , COUNT(o.tableID.tableID) FROM Ordertabledetail o WHERE o.date BETWEEN :startDate AND :endDate GROUP BY o.tableID.tableID ORDER BY o.tableID.tableID DESC").setParameter("startDate", startDate, TemporalType.DATE).setParameter("endDate", endDate, TemporalType.DATE);
                List<Ordertabledetail> result = query.getResultList();
                return result;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    

如何显示在JSP页面中排序的10个大多数表的信息?

您能描述您遇到的错误并将消息添加到问题中吗?请粘贴实体(字段应该足够了)。
    String action = request.getParameter("action_report");
    String url = "/admin/minh_report.jsp";   
    if (action.equals("View")) {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

        String startDate = request.getParameter("txtDateFrom");
        String endDate = request.getParameter("txtDateTo");

        Date sdate = formatter.parse(startDate);    
        Date edate = formatter.parse(endDate);


        List list = orderTableDetailBean.viewReport(sdate, edate);
        request.setAttribute("UN", list);      
        url = "/admin/minh_report.jsp";
        request.getRequestDispatcher(url).forward(request, response);
    }