首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate:使用@SqlResultSetMapping映射本地查询的结果集

Hibernate:使用@SqlResultSetMapping映射本地查询的结果集
EN

Stack Overflow用户
提问于 2010-05-10 14:16:01
回答 1查看 9.2K关注 0票数 3

我正在尝试以下几点:

MyResult.java:

代码语言:javascript
复制
import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityResult;
import javax.persistence.SqlResultSetMapping;


@Entity
@SqlResultSetMapping(name = "myResults", entities = {@EntityResult(entityClass = MyResult.class)})
public class MyResult implements Serializable
{

    /**
     * 
     */
    private static final long   serialVersionUID    = -1934790337160508576L;

    @Column(name="X")
    private int x;

    @Column(name="Y")
    private double y;


    // 
    // Getters and Setters...
    //
}

在其他java类中:

代码语言:javascript
复制
Query q = ((org.hibernate.ejb.QueryImpl) this.entityManager.createNativeQuery (this.sql,
                        "myResults")).getHibernateQuery ( );
List<MyResult> result = q.list ( );

当我运行这段代码时,我得到:

PersistenceUnit:无法配置EntityManagerFactory的MyHibernatePgSql

当我从MyResult.java中删除:"@Entity“部分时,我得到:

org.hibernate.MappingException:未知SqlResultSetMapping myResults

我知道我做错了什么,但我不知道什么?而且我也找不到关于这个的好文档。

提前感谢

编辑:查询如下:SELECT X, AGG_FUNC(F) AS Y FROM...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-10 15:36:47

一些意见/问题:

  • 您真的只获得没有任何堆栈跟踪或日志的[PersistenceUnit: MyHibernatePgSql] Unable to configure EntityManagerFactory吗?
  • 您的实体在某个地方有@Id注释(实体是必需的)?
  • 为什么要调用getHibernateQuery?这似乎没有必要,o.h.e.QueryImpl中的强制转换也是如此。为什么不使用JPQL (在这种情况下,假设实体具有正确的constructor)?

,则可以使用SELECT NEW )

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2803275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档