Hibernate: Mapping-Ergebnis-set von native query mit " @SqlResultSetMapping

Ich versuche die folgende:

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...
    //
}

Und in anderen java-Klasse:

Query q = ((org.hibernate.ejb.QueryImpl) this.entityManager.createNativeQuery (this.sql,
                        "myResults")).getHibernateQuery ( );
List<MyResult> result = q.list ( );

Wenn ich diesen code bekomme ich:

[PersistenceUnit: MyHibernatePgSql] Nicht konfigurieren EntityManagerFactory

Und wenn ich entfernen die: "@Entity" - Teil aus der MyResult.java ich:

org.hibernate.MappingException: Unbekannt SqlResultSetMapping [myResults]

Ich weiß, dass ich was falsch mache, aber ich weiß nicht, was? Auch ich kann nicht finden, eine gute Dokumentation darüber.

Vielen Dank im Voraus

edit: Die Abfrage sieht wie folgt aus: SELECT X, AGG_FUNC(F) AS Y FROM...

InformationsquelleAutor dime | 2010-05-10
Schreibe einen Kommentar