У меня есть довольно большая модель Заявителя:JPA типизированные Поисковые запросы
public class Applicant{
private Long id
private String name;
...
...
}
заполнить список выбора, мне нужен список (номер, имя) кортежей и я использую этот поисковый запрос:
public List getNames() {
Query query = em.createQuery("select a.id, a.name from Applicant a");
return query.getResultList();
}
Однако я получаю список Object [], и я действительно не хочу их преобразовывать в бизнес-уровень в соответствующие типы (Long и String). Каков наилучший способ приблизиться к этому? Должен ли я перебирать список и вручную делать преобразование типов, прежде чем возвращать его? Или я должен сделать вспомогательный класс:
public class ApplicantTuple{
public Long id
public String name;
public Application(Long id, String name) {
...
}
}
а затем поисковый запрос:
Query query = em.createQuery("select NEW my.model.ApplicantTuple(a.id, a.name) from Applicant a");
Или есть лучший способ ввести поисковые запросы?
Что происходит с другими полями Заявителем объекта? Они не получают? И возможно ли это, когда я использую объединение и запрос для полей из двух таблиц/сущностей? –
Да, другие поля получаются, если только они не настроены как ленивые. –
Однако это делает ненужный объемный результат, не так ли? –