我有一个项目,其中有多个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;
}