我有一个项目,其中有多个 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 类。List 包含查询中的数据。但我希望将多个表/POJO 类中的数据作为单个 JSON。我能够从 IterationInfo 表返回数据。但是如何从多个表返回/POJO 类。
最佳答案
创建一个包装器来包含您需要的所有数据,例如:
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;
}
关于java - 在Spring MVC中如何返回多个POJO类的JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41693733/