我有一个从 db2 获取数据的简单 JEE6 休息类。我在 ApplicationConfig 类中使用 Jackson 将实体对象转换为 json。它使用字段名称作为键,值作为右手值进行转换。例如:
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 结构中?谢谢你。