我正在尝试以下几点:
MyResult.java:
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类中:
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...
发布于 2010-05-10 15:36:47
一些意见/问题:
[PersistenceUnit: MyHibernatePgSql] Unable to configure EntityManagerFactory吗?@Id注释(实体是必需的)?getHibernateQuery?这似乎没有必要,o.h.e.QueryImpl中的强制转换也是如此。为什么不使用JPQL (在这种情况下,假设实体具有正确的constructor)?,则可以使用SELECT NEW )
https://stackoverflow.com/questions/2803275
复制相似问题