我有以下SQL查询,它正常工作。要么我需要在spring-data @Query中编写这个查询,要么需要执行它并使用ResultMapper将结果映射到对象(不确定哪种方法是正确的)
这是查询
SELECT CR.*
FROM CALL_ATTEMPT_RESPONSE CAR
INNER JOIN (
SELECT MAX(CALL_ATTEMPT_ID) CALL_ATTEMPT_ID FROM
CALL_ATTEMPT
WHERE ACCESS_ID = :accessId
) AS CA
ON CA.CALL_ATTEMPT_ID = CAR.CALL_ATTEMPT_ID
INNER JOIN
CALL_RESPONSE CR
ON CR.RESPONSE_ID = CAR.CALL_ATTEMPT_RESPONSE_ID
AND CR.ACTIVE = 'true'
INNER JOIN
CALL_QUESTION CQ
ON CR.QUESTION_CD = CQ.QUESTION_CD
AND CQ.ACTIVE = 'true'
查询将call_attempt_response与max(accessId)上的call_attempt连接在一起 并在响应处于活动状态的response_id上与call_response连接 并在question_cd上与call_question连接,其中问题处于活动状态 并检索所有call_attempt_responses。
我需要将其转换为使用spring数据查询的以下内容
@Query("query goes here")
List<CallResponse> findResponsesByAccessId(@Param("accessId") String accessId);