Hibernate Rest—如何在JSON数据中动态添加/包含属性

Hibernate Rest—如何在JSON数据中动态添加/包含属性,hibernate,rest,Hibernate,Rest,我正在开发RESTWeb服务,并为移动应用程序生成JSON数据。我正在使用Jersey 1.4,web服务器作为tomcat 7,Hibernate 3.3,MySQL5。 我是新来的。 我有一个端点,它根据我的查询返回一个年份列表 输出: {“success”:true,“count”:2,“message”:null,“data”:[{“year”:2012},{“year”:2013}} 这正是我所期望的 但是我被要求在这个返回json数据集中包含一个string类型的描述值。基于年的价值

我正在开发RESTWeb服务,并为移动应用程序生成JSON数据。我正在使用Jersey 1.4,web服务器作为tomcat 7,Hibernate 3.3,MySQL5。 我是新来的。 我有一个端点,它根据我的查询返回一个年份列表

输出:

{“success”:true,“count”:2,“message”:null,“data”:[{“year”:2012},{“year”:2013}}

这正是我所期望的

但是我被要求在这个返回json数据集中包含一个string类型的描述值。基于年的价值

如果年份=2012(当前年份),说明应为“本年度”,对于年份=2013说明=“下一年”,对于年份=2011说明=“上一年”,对于年份=2010说明=“2010年”,依此类推

我必须返回的内容如下: {“success”:true,“count”:2,“message”:null,“data”:[{“year”:2012,“description”:“this year”},{“year”:2013,“description”:“next year”}]

我的资源课

 @GET
@Path("/{countryCd}/upcoming")
@Produces("application/json")
public  JResponse<JsonResponse> getYearsForUpcoming(@PathParam("countryCd") 
     String  countryCode) {

     JobDao jobDao =new JobDao();   
     JsonResponse res= new JsonResponse();


   @SuppressWarnings({ })
List<Jobs> jobList=  jobDao.getYearsForUpcoming(countryCode);
   if(jobList==null){
       throw new NotFoundException("Error occured! NO data found");
   }

    int count = jobList.size();
    res.setCount(count);
    res.setData(jobList);

           return JResponse.ok(res).build();

}
}

我不知道如何向我的JSON数据中添加一个新属性,该属性不在我的实体中。 非常感谢您的任何意见


提前感谢

您可能需要再创建一个实体来映射新对象,该实体类似于

public class Data {
    private String year;
    private String description;
}

然后加载此实体的列表并将其添加到响应中。

非常感谢,它以我想要的方式工作。刚刚将我的查询setResultTransformer(Transformers.ALIAS\u TO_ENTITY\u MAP)更改为setResultTransformer(Transformers.aliasToBean(Data.class))。不知道这是否是最佳实践,但它的工作。再次感谢
public class Data {
    private String year;
    private String description;
}