JSP 페이지에서 muti-select 양식 요소로부터받은 정보로 보고서를 작성합니다.보내는 방법 모든 객체의 "id"가 필요한 NamedQuery에 객체의 배열을 보냅니다.
내 저장소 클래스에서 해당 요소의 개체 배열을 가져 오는 중입니다. 이 객체들 각각에 대해 getId
함수를 호출하고 해당 ID를 NamedQuery
으로 보내야합니다.
다음은 설명을 돕기위한 코드 예제입니다. 단일 객체를 처리하는 방법을 알고 있지만 객체 배열을 사용하면 .setParameter(1, employees[].getId())
부분에서 길을 잃을 수 있습니다. 요청에 의해
public List<RequestByRequester> getFormInformation(
Employee[] employees)
throws NoDataFoundException {
List<RequestByRequester> resultList = getEm().createNamedQuery(
"requestByRequestor.getRequestsByRequesters", RequestByRequester.class)
.setParameter(1, employees[].getId())
.getResultList();
return resultList;
}
쿼리 :
SELECT EMP.EMPL_FIRST_NAME || ' ' || EMP.EMPL_LAST_NAME REQUESTER,
R.RQST_ID RQST_ID,
R.TITLE TITLE,
R.DESCRIPTION DESCR,
DECODE(R.RESOLUTION_DATE, NULL, 'Open', 'Closed') STAT
FROM TARTS.REQUESTS R, SYS_EMPLOYEES EMP
WHERE R.EMPL_ID_REQUESTED_BY = EMP.EMPL_ID
AND EMP.EMPL_ID IN (?)
ORDER BY 1, 5 DESC, 2
무엇 "namedQueries.queryName"생겼 그것을 지정하려면이 옵션을 사용할 수 있습니까? 아마도 "in"을 수행하고 ID 목록을 제공 할 수 있습니까? –
이 질문은 정말로 JPA 질문이며 봄 질문이 아닙니다. –
@ bkent314 실제 쿼리 이름에 문자열을 넣을 수 있습니다. 나는 혼란을 덜어주기 위해 노력했지만, 나는 그 반대를 성취 한 것 같습니다. 나는 아주 새로운 자바/jpa/spring 그것이 스프링 관련 질문이라고 생각했습니다. 죄송합니다^_^ –