Как сопоставить результирующий набор критериев гибернации с классом Java? - PullRequest
0 голосов
/ 03 мая 2018

У меня есть объект со многими полями, мне нужно получить некоторые из них с помощью запроса и сохранить в классе Java? я знаю, как можно устанавливать проекции и получать указанное поле, но я не знаю, как сопоставить набор результатов с классом Java.

это мой запрос:

    Criteria criteria=session.createCriteria(EmployeeInfo.class);
    Criterion condition1= Restrictions.eq("employeeTO.id",id);  
    criteria.add(condition1);
    criteria.setProjection(Projections.projectionList()
            .add(Projections.property("name"))
            .add(Projections.property("birthDay")));

Мне нужно сохранить результат в списке ниже класса

public class SubEmployeeInfo{
    String name;
    int brithDay;
}

Как я могу сохранить critria.list() в List<SubEmployeeInfo>?

Я использовал приведенный ниже код, но все поле возвращенного объекта SubEmployeeInfo равно нулю

criteria.setResultTransformer(Transformers.aliasToBean(HokmKargoziniDTO.class));
SubEmployeeInfoList = (List<SubEmployeeInfo>) criteria.list();

1 Ответ

0 голосов
/ 03 мая 2018

Вы можете использовать setResultTransformer метод при построении критериев . ResultTransformer объекты могут создавать результаты маршалинга в любом желаемом формате.

Пример:

criteria.setResultTransformer(Transformers.aliasToBean(SubEmployeeInfo.class));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...