Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 缺少到POJO的EclipseLink@SQLResultSetMapping_Jpa_Eclipselink_Sqlresultsetmapping - Fatal编程技术网

Jpa 缺少到POJO的EclipseLink@SQLResultSetMapping

Jpa 缺少到POJO的EclipseLink@SQLResultSetMapping,jpa,eclipselink,sqlresultsetmapping,Jpa,Eclipselink,Sqlresultsetmapping,在EclipseLink 2.5 JPA 2.1中,我试图将本机查询的结果映射到POJO,根据以下链接,POJO应该是可能的: …使用直接取自EclipseLink 2.5 api文档的以下语法: Query q = em.createNativeQuery( "SELECT c.id, c.name, COUNT(o) as orderCount, AVG(o.price) AS avgOrder " + "FROM Customer c, Orders o " +

在EclipseLink 2.5 JPA 2.1中,我试图将本机查询的结果映射到POJO,根据以下链接,POJO应该是可能的:

…使用直接取自EclipseLink 2.5 api文档的以下语法:

Query q = em.createNativeQuery(
      "SELECT c.id, c.name, COUNT(o) as orderCount, AVG(o.price) AS avgOrder " +
      "FROM Customer c, Orders o " +
      "WHERE o.cid = c.id " +
      "GROUP BY c.id, c.name",
      "CustomerDetailsResult");

@SqlResultSetMapping(
       name="CustomerDetailsResult",
       classes={
          @ConstructorResult(
               targetClass=com.acme.CustomerDetails.class,
                 columns={
                    @ColumnResult(name="id"),
                    @ColumnResult(name="name"),
                    @ColumnResult(name="orderCount"),
                    @ColumnResult(name="avgOrder", type=Double.class)
                    }
          )
       }
      )

但是,找不到@SqlResultSetMapping的classes属性。我尝试了Eclipselink 2.5.2和2.6。是否有另一个可选的EclipseLink jar我必须使用才能获得该功能?

看起来这本指南已经过时了,试试看,你怎么知道它已经过时了?我的链接是EclipseLink 2.5。你的链接甚至没有说它是为哪个JPA实现或版本的。此外,这两个链接都表明SqlResultSetMapping的classes属性存在,所以我不确定您的建议是什么。有时人们会错误地将POJO注释为@SqlResultSetMapping。请看这个并告诉我这是否是您的情况。您确定导入了javax.persistence.SqlResultSetMapping而不是其他注释吗。我只是尝试了一下你的代码,它是有效的。你能在你的类路径上使用JPA1 jar吗?