Java MySQL日期时间到日期查询JPQL query=em.createQuery(“从约会a中选择计数(a),其中a.datetime>=?1和a.datetime=day1和a.startDate
因此JPQL没有DATE()函数。Java MySQL日期时间到日期查询JPQL query=em.createQuery(“从约会a中选择计数(a),其中a.datetime>=?1和a.datetime=day1和a.startDate,java,mysql,date,datetime,jpa,Java,Mysql,Date,Datetime,Jpa,因此JPQL没有DATE()函数。 我试过a.startDate>=day1和a.startDate
我试过a.startDate>=day1和a.startDate
query = em.createQuery("SELECT COUNT(a) FROM Appointment a WHERE a.datetime >= ?1 and a.datetime < ?2");
query.setParameter(1, date1, TemporalType.DATE);
query.setParameter(1, date2, TemporalType.DATE);
只有在约会
中有一个名为a
的列才有意义。这不太可能。你可能打算:
SELECT COUNT(a)
FROM Appointment a
WHERE DATE(a.startDate) = ?1
对?1表示参数值。错误是在日期(a.startDate)中标记第一个括号startDate是datetime计数(a)是多少?不应为计数(a*),因为DATE不是有效的JPQL函数。阅读JPA规范和任何合适的JPQL文档。SQL生成的是什么?@Entity。您的问题带有“mysql”标签。而且,这种语法在MySQL中没有真正意义。
SELECT COUNT(*)
FROM Appointment a
WHERE DATE(a.startDate) = ?1