У меня проблема при отображении запроса с помощью класса pojo в hibernate.В моем случае я выполняю запрос и пытаюсь установить результат моего запроса в некоторый класс Java, кроме объекта.Мой запрос имеет псевдонимы в именах столбцов, которые не определены в моей сущности (потому что псевдонимы являются динамическими).Когда я запускаю свой код, он выдает исключение
Исключение
( 12002 ) Internal Service Error Exception Message : Data Access Exception occurred [Unknown entity:
com.ykb.hmn.cms.commission.datamodel.CmsMonthlyPaymentDetail
Query.hbm.xml
<sql-query name="getCommissionBetweenDatesWithStat">
<return class="com.ykb.hmn.cms.commission.datamodel.CmsMonthlyPaymentDetail"/>
<![CDATA[
SELECT COMDT_COM_CCY CURRENCY, SUM(COMDT_COM_AMT1) PAYMENT
FROM COMDT
WHERE COMDT_COM_REFNO = :refNo
AND COMDT_COM_RDN BETWEEN :startRdn AND :endRdn
AND COMDT_COM_STAT = :stat
GROUP BY COMDT_COM_STAT, COMDT_COM_REFNO, COMDT_COM_CCY
ORDER BY COMDT_COM_REFNO
]]>
</sql-query>
Класс Pojo - я хочу подключиться к этому классу
public class CmsMonthlyPaymentDetail implements Serializable{
private double payment;
private String currency;
public double getPayment() {
return payment;
}
public void setPayment(double payment) {
this.payment = payment;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
}
Сервис
@Override
public List<ResponseCommissionTransactionDetail> getCommissionMonthlyPaymentDetail(RequestCommissionTransactionDetail request) throws HmnServiceException {
Integer startRdn = DateUtil.dateToRelDay(request.getStartDate());
Integer endRdn = DateUtil.dateToRelDay(request.getEndDate());
final Character requestedStat = 'O';
//Crashes in this line
List<CmsMonthlyPaymentDetail> queryResult = DAOLocator.getComDetailDAO().getCommissionBetweenDatesWithStat(request.getCommissionRefNo(), startRdn, endRdn, requestedStat);
List<ResponseCommissionTransactionDetail> response = null;
if (queryResult != null) {
response = new ArrayList<ResponseCommissionTransactionDetail>();
for (Iterator<CmsMonthlyPaymentDetail> iterator = queryResult.iterator(); iterator.hasNext();) {
CmsMonthlyPaymentDetail monthlyPaymentDetail = iterator.next();
ResponseCommissionTransactionDetail commissionDetail = new ResponseCommissionTransactionDetail();
commissionDetail.setRefNo(request.getCommissionRefNo());
commissionDetail.setAmount(monthlyPaymentDetail.getPayment());
commissionDetail.setCurrency(monthlyPaymentDetail.getCurrency());
response.add(commissionDetail);
}
}
return response;
}
Большое спасибо