Как запросить сущность и объединить счет на объект значения - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь создать запрос в JPA, который получит идентификатор и найдет количество столбцов для данного идентификатора.

Например, у меня есть работа, к этому ресурсу могут быть добавлены атрибуты.Я должен найти количество каждого атрибута и сопоставить с новым VO для данного идентификатора задания.

Сценарий.

Job A has
    1 skillsType assigned

Job B has   
    2 skillsType assigned 

Моя структура базы данных сохраняет jobId, skillType и skillTypeId.На самом деле, это даст мне 2 значения для идентификатора задания B, однако мне нужно, чтобы он был в одну строку и подсчитывал количество наклонений типа типа для данного типа.

Я попытался создатьVO в хранилище для сопоставления значений с ним, однако оно не работает.

Мой VO имеет следующие значения: jobId, softSkillsCount, technicalSkillsCount

Например, задание Bбудет jobBIdValue, 1, 1, а не jobBIdValue, softSkill, skillIdSoft jobBIdValue, technicalSkill, skillIdTechnical

Код, который у меня пока есть, NamedQuery = select new packagename.myJobViewVO(jobId, countOfSoftSkills,countOfTechnicalSkils) from JobView where jobId = 123

1 Ответ

1 голос
/ 05 июня 2019

Возможно, не лучшее решение, но следующий запрос может сделать работу

select new packagename.myJobViewVO(jobId,
 sum(case when skillType = 'soft' then 1 else 0 end ) as countOfSoftSkills,
 sum(case when skillType = 'hard' then 1 else 0 end ) as countOfTechnicalSkils
) from JobView where jobId = 123 group by jobId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...