我有一个项目,其中有多个POJO类。这些类使用Hibernate与数据库映射。我想从JSON中从数据库返回数据。我的代码是:

@RequestMapping(value="{userid}",method=RequestMethod.GET)
public @ResponseBody List<IterationInfo> getIterationInfoInJSON(@PathVariable int userid)
{
    Configuration con = new Configuration();
    con.configure("hibernate.cfg.xml");

    SessionFactory SF = con.buildSessionFactory();
    Session session= SF.openSession();
    Transaction TR = session.beginTransaction();
    Query query=session.createQuery("from IterationInfo");
    List<IterationInfo> listiterationinfo=query.list();
    session.close();

    SF.close();
    return listiterationinfo;
}


IterationInfo是一个POJO类。列表具有查询的数据。但是我想将多个Tables / POJO类中的数据作为单个JSON。我能够从IterationInfo表中返回数据,但是如何从多个表/ POJO类中返回。

最佳答案

创建一个包装器d,以包含所需的所有数据,例如:

class SomeResponseDto {
    private List<IterationInfo> iterationInfo;
    private List<AnotherPojoClass> anotherPojoClasses;
    // getters, setters
}


现在,您可以将数据合并到单个JSON对象中:

@RequestMapping(value="{userid}",method=RequestMethod.GET)
public @ResponseBody SomeResponseDto getIterationInfoInJSON(@PathVariable int userid) {
    // code
    SomeResponseDto dto = new SomeResponseDto();
    dto.setIterationInfos(listiterationinfo);
    dto.setAnotherPojoClasses(anotherPojoClasses);
    return dto;
}

07-24 09:46
查看更多