У меня довольно большая модель Заявитель:
public class Applicant{
private Long id
private String name;
...
...
}
Чтобы заполнить список выбора, мне нужен список (id, 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");
Или есть лучший способ ввода поисковых запросов?