当前位置: 首页 > 知识库问答 >
问题:

JPA:如何将原生查询结果集转换为POJO类集合

费锋
2023-03-14
@NamedNativeQueries({  
    @NamedNativeQuery(  
        name = "nativeSQL",  
        query = "SELECT * FROM Actors",  
        resultClass = db.Actor.class),  
    @NamedNativeQuery(  
        name = "nativeSQL2",  
        query = "SELECT COUNT(*) FROM Actors",  
        resultClass = XXXXX) // <--------------- problem  
})  

共有1个答案

林蕴藉
2023-03-14

JPA提供了SQLResultSetMapping,允许您将本机查询的任何返回映射到实体 或自定义类

编辑JPA1.0不允许映射到非实体类。只有在JPA2.1中,才添加了一个ConstructorResult来将返回值映射到java类中。

此外,对于OP获取计数的问题,只需使用单个columnresult定义一个结果集映射就足够了

 类似资料:
  • 问题内容: 我在我的项目中使用JPA。 我来到一个查询,其中我需要对五个表进行联接操作。因此,我创建了一个本机查询,该查询返回五个字段。 现在,我想将结果对象转换为包含相同五个String的java POJO类。 JPA中有什么方法可以将结果直接转换为POJO对象列表? 我来到以下解决方案.. 现在在resultClass中,我们是否需要提供一个实际的JPA实体类?或者我们可以将其转换为包含相同列

  • 我在我的项目中使用了JPA和hibernate。 我的pojo类是AggregateDetail,它包含我将从本机查询获得的所有20个变量。 有没有办法实现这个。

  • 我使用Spring数据JPA和Spring Boot应用程序。我有一个属性很少的实体类。假设我有10个属性与实体关联,我只想检索其中的几个(用户名、密码、名字、名字、电子邮件)。 因此,我编写了一个查询,只获取5个字段,但该方法不返回实体对象,而是返回一个普通对象。 如何将查询结果转换为Spring Data JPA中的实体?

  • 问题内容: 由于使用JDBC连接器进行MySQL查询,因此我有一个结果集。所以我的工作是将结果集转换为JSON格式。这样我就可以将其作为AJAX响应发送到客户端。有人可以解释一下如何转换为JSON格式,因为我对Java和JSON都是新手 问题答案: 许多人正确地回答了这个问题。但是,我认为我可以使用以下几小段代码为该帖子添加更多价值。它使用Apache-DBUtils和Gson库。

  • 我已经看到,当我们使用或时,JOOQ可以自动返回POJO 但是有可能将复杂查询的结果转换成多个POJO吗? 我测试了方法,它工作得很好。但我没有支持对象。

  • 我需要通过在Hibernate中执行本机查询获得结果集。虽然我使用的是EntityManager,但查询和结果集可能不是实体。 当我尝试下面的代码时,我得到了一个结果。因为我要求的是一个有值的结果。(Hibernate JPA) 结果是:爱丽丝 当我试图从相同的代码中获得多个select out(查询为select name)时,指定来自fresher_test(其中id=1) 这有一种方法,我可