У меня есть критерии гибернации с определенным списком проекций:
criteria.setProjection(Projections.projectionList()
.add(Projections.property("contract.autoId"), "contractId")
.add(Projections.property("customer.firstName"), "firstName")
.add(Projections.property("contract.startDate"), "startDate")
.add(Projections.property("contract.endDate"), "endDate"));
Я хочу отобразить ответ этого критерия на следующий объект DTO:
public class Contract {
private int contractId;
private String description;
private Date startDate;
private Date endDate;
}
Типы ответа дляэтот критерий:
Итак, первый объект имеет тип Long , но в DTO contractId имеет int type.I не имеет права изменять этот объект dto.
Итак, когда я добавил ResultTransformer к моим критериям:
criteria.setResultTransformer(Transformers.aliasToBean(Contract.class));
Я получил следующее исключение:
java.lang.IllegalArgumentException: argument type mismatch
Можно ли сказать Transformers.aliasToBean для автоматического преобразования значения из типа Long в тип int?