У меня есть простой класс отдыха JEE6, который получает данные из db2. Я использую Jackson в классе ApplicationConfig для преобразования объектов сущности в json. Он преобразует имена полей в качестве ключа и значение в качестве значения правой руки. Так, например:javaee 6 rest api named query result
Class Entity {
String name;
String address;
}
превращается в
{name:"hello", address:"world"}
Услуга заключается в следующем:
public List<T> findAll() {
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
return getEntityManager().createQuery(cq).getResultList();
}
Теперь я хочу вернуть только имя в формате JSON. Так что я создал именованный запрос следующим образом в классе сущностей:
@NamedQuery(name = "justGetName", query = "SELECT a.name FROM Applications a")
И сервис изменен
public List<T> findAll() {
return getEntityManager().createNamedQuery("justGetName").getResultList();
}
Это возвращает следующий массив:
[{"first","second","third"}]
Но я хочу, чтобы получить назад:
[{name:"first",name:"second",name:"third"}]
Как написать именованный запрос, чтобы имена полей классов были добавлены в структуру json? Спасибо.