У меня довольно большая модель. Заявитель:
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 и Строка). Как лучше всего подойти к этому? Следует ли перебирать список и вручную выполнять преобразование типов перед его возвратом? Или мне следует создать вспомогательный класс:
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");
Или есть лучший способ ввести поисковые запросы?