【发布时间】:2019-12-05 09:57:26
【问题描述】:
我在 mySql 中有一个查询,我想在我的控制器中编写。
SELECT sum(`column`='value') ,b.`date` FROM table b WHERE b.user= 'user1' and b.`date` between '2019-07-21' and '2019-07-26' group by b.`date`
这是 jpa 中的等价物
@Transactional
@Modifying
@Query("SELECT sum(column='value') ,b.date FROM myclasse b WHERE b.user= :user and b.date between :dt1 and :dt2 group by b.date")
List<Object[]> function( String user,@Param("dt1")Date dt1,@Param("dt2")Date dt2);
我希望得到与 phpmyadmin 结果相同的结果,但我收到此错误:
引起:java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException:期待关闭, 在第 1 行第 23 列附近找到 '=' [SELECT SUM(column='value') ,b.date FROM com.project.Myclass b WHERE b.user= :user 和 b.date 之间 :dt1 和 :dt2 按 b.date 分组] 在 org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final] 在 org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final] 在 org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final] 在 org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:729) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final] 在 org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:23) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) ~[na:1.8.0_161] 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) ~[na:1.8.0_161] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) ~[na:1.8.0_161] 在 java.lang.reflect.Method.invoke(未知来源) ~[na:1.8.0_161] 在 org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:350) ~[spring-orm-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在 com.sun.proxy.$Proxy118.createQuery(Unknown Source) ~[na:na] at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:87) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE] ... 76 常见 框架省略
【问题讨论】:
标签: java mysql jpa spring-data-jpa jpql