ここでは、1つの応答として2つの結果を返そうとしていますが、どのオプションが良いかどうかはわかりません。 は、ここではそれが 1つのJavaメソッドから複数のオブジェクトを返す方法は?
List<FixedDeposit> fdList = em.createQuery(sb.toString())
.setParameter("start", dateFrom)
.setParameter("end", dateTo)
.setFirstResult(start).setMaxResults(limit)
.getResultList();
ので、私は
List<FDSearchResult> searchList = getSearchResult(fdList);
response.setData(searchList);
return response;
としてそれを持っているそして今、再び私は別の応答を返すようにしたい、リストとして返します。これは計算です
Double sum = 0.0;
sum = (Double) em.createQuery("SELECT SUM(deposit_amount)FROM fd_fixed_deposit where fd.status in ('ACT','REN','WDR') and fd.maturityDate between :start and :end ")
.setParameter("start", dateFrom)
.setParameter("end", dateTo).getSingleResult();
どのようにして合計の応答で結果を返すことができますか?あなたは結果オブジェクトを経由して、関連するすべてのデータを返すことができ
public Response<List<FDSearchResult>> loadMaturedFDByRange(String fromDate, String toDate, final Integer start,
final Integer limit) {
final Response<List<FDSearchResult>> response = new Response<List<FDSearchResult>>();
Date dateFrom = DateUtils.parseDate("dd/MM/yyyy", fromDate, null);
Date dateTo = DateUtils.parseDate("dd/MM/yyyy", toDate, null);
Long count = 0L;
Double sum = 0.0;
try {
count = (Long) em.createQuery("SELECT COUNT(fd) FROM FixedDeposit fd where fd.status in ('ACT','REN','WDR') "
+ "and fd.maturityDate between :start and :end ")
.setParameter("start", dateFrom)
.setParameter("end", dateTo).getSingleResult();
} catch (NoResultException nre) {
count = 0L;
}
StringBuilder sb = new StringBuilder();
sb.append("SELECT fd FROM FixedDeposit fd where fd.status in ('ACT','REN','WDR') and fd.maturityDate between :start and :end ");
List<FixedDeposit> fdList = em.createQuery(sb.toString())
.setParameter("start", dateFrom)
.setParameter("end", dateTo)
.setFirstResult(start).setMaxResults(limit)
.getResultList();
sum = (Double) em.createQuery("SELECT SUM(deposit_amount)FROM fd_fixed_deposit where fd.status in ('ACT','REN','WDR') and fd.maturityDate between :start and :end ")
.setParameter("start", dateFrom)
.setParameter("end", dateTo).getSingleResult();
List<FDSearchResult> searchList = getSearchResult(fdList);
response.setData(searchList);
response.setPagination(new Response().new PaginationInfo(count));
return response;
}
たぶん、あなたは[配列](https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html)を探しています。 – Mistalis
マップを返すと助けになるので、オブジェクトを整理することができます – DamCx
いつもその型の2つのオブジェクトになる場合は、両方を格納する別のオブジェクトを作成して返します。 –