Исходя из фона Entity Framework, я могу привести свои результаты ORM к классу, который содержит подмножество данных полной внутренней модели.
У меня есть служба JAX-RS REST, где я обычно возвращаю что-то вроде
MyEntity result = em.createQuery(select e from MyEntity e ... blah blah blah).
Я знаю, что могу это сделать:
Object result = em.createQuery(select e.Title, e.Version, e.Date from MyEntity e... blah blah blah).
Но могу ли я либо: перевести свой результат в отдельный класс, либо назвать свои поля в моем запросе на создание таким образом, чтобы они были названы при возврате моего JSON?
Например, в .Net Land я мог бы сделать что-то вроде....
(select new {Title = e.Title, Version = e.Version})
а затем привести это к другому типу. Я пытался использовать типизированный запрос и кастинг, но получаю ошибку типа «Тип X несовместим с возвращаемым типом Y».
Моя цель — вернуть определенное подмножество (модель просмотра/DTO) моей информации для использования в конкретном сценарии.
Например, моя модель огромна, и я не хочу каждый раз возвращать большой объем данных.