Как отобразить запрос на класс не-сущности + класс сущности - PullRequest
0 голосов
/ 10 февраля 2011

Я знаю, как сделать запрос на сопоставление resultClass в IBatis.

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

Пожалуйста, помогите.

1 Ответ

2 голосов
/ 10 февраля 2011

С Hibernate Session API вы можете сделать это, объединив методы addEntity() и addScalar():

Query q = s.createSQLQuery(
    "select p.*, count(e.id) as c " +
    "from Project p left join Employee e on p.id = e.project_id " +
    "group by p.id")
    .addEntity(Project.class).addScalar("c");

В JPA вы можете сделать это с @SqlResultSetMapping:

@SqlResultSetMappings(
    @SqlResultSetMapping(name = "projectWithCount"
        entities = @EntityResult(entityClass = Project.class),
        columns = @ColumnResult(name = "c")))

...

Query q = s.createSQLQuery(
        "...", "projectWithCount")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...