Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MySQL日期时间到日期查询JPQL query=em.createQuery(“从约会a中选择计数(a),其中a.datetime>=?1和a.datetime=day1和a.startDate_Java_Mysql_Date_Datetime_Jpa - Fatal编程技术网

Java MySQL日期时间到日期查询JPQL query=em.createQuery(“从约会a中选择计数(a),其中a.datetime>=?1和a.datetime=day1和a.startDate

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

因此JPQL没有DATE()函数。
我试过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