0
아래에 HQL 쿼리가 있습니다.HQL IF 절이 IS NOT NULL과 함께 작동하지 않습니다.
@Query("SELECT IF (job.doneDate IS NOT NULL) THEN SUM(jobCost.amount) FROM JobCost AS jobCost "
+ "LEFT JOIN jobCost.job AS job WHERE job.code = :#{#filter.jobCode} "
+ "AND jobCost.costType = :#{#filter.jobCostType} "
+ "AND jobCost.job.business.id = :#{#filter.searchBusiness} "
+ "AND jobCost.date >= :job.doneDate "
+ "AND jobCost.date <= :#{#filter.endDate} ELSE 0.00 END")
콘솔에서이 오류가 발생했습니다.
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: THEN near line 1, column 40 [SELECT IF (job.doneDate IS NOT NULL) THEN SUM(jobCost.amount) FROM com.job.JobCost AS jobCost LEFT JOIN jobCost.job AS job WHERE job.code = :__$synthetic$__1 AND jobCost.costType = :__$synthetic$__2 AND jobCost.job.business.id = :__$synthetic$__3 AND jobCost.date >= :job.doneDate AND jobCost.date <= :__$synthetic$__4 ELSE 0.00 END]
어떻게 수정해야합니까?
달성하려는 목표는 무엇입니까? 이 쿼리 구문은 무엇입니까? – fateddy
@fateddy spring 주석 쿼리. 'jobCost.amount'의 합계를 얻으려고합니다. – rokz92