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私は実際のクエリ名を文字列にすることができます。私はそれをあまり混乱させないようにしようとしていましたが、私はその反対を達成したようです。私はjava/jpa/springにとって非常に新しいです。それは春に関係する質問だと思っていました。申し訳ありません^ _^ –