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