java - 在Spring MVC中如何返回多个POJO类的JSON

标签 java json hibernate spring-mvc

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

相关文章:

java - 恶意代码漏洞 - 可能通过返回对可变对象的引用来暴露内部表示 - 使用哪些对象?

php - 在执行 INSERT 之前,您的 MySQL 是在 JSON 编码之前还是在 JSON 编码之后真正转义数据?

java - 在服务类中使用多个 dao 完成事务

Java Applet的URLConnection到PHP没有效果

java - 制作简单的 Esper 平均查询

java - Rest Easy Client Framework 值在解码后丢失

python - 如何在 Flask 中处理 JSON?

javascript - 将 JSON 对象导出到另一个 .js,无需类声明react-native

java - HQL 是否有 Restrictions.ilike 的等效项(用于不区分大小写的匹配)?

c# - NHibernate (Hibernate) 属性自动递增