Frage

Ich brauche das Ergebnis eines JPQL Ergebnis ein einfaches Klasse Java-Objekt zuweisen

Ich habe so etwas wie diese

class myObject() {
@id
private Long id;
private String Name;
private String description;
...
//getters and setters
}

Ich muss irgendwie das Ergebnis dieser SQL-Abfrage zu speichern, zB

// könnte anytable     SELECT DISTINCT c.table_id, c.name, NULL AS Beschreibung FROM anyTable

Wie kann ich das in JPQL und dann das Ergebnis zu meinem Objekt zuweisen?

War es hilfreich?

Lösung

Die Frage ist äußerst unklar. Also hier ist eine vage Antwort:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("MyPu");
EntityManager em = emf.createEntityManager();    
Query q = em.createQuery("select f.id, f.name from Foo f");
List<Object[]> foos = (List<Object([]>)q.getResultList();

MyObject o = new MyObject();
o.setFoos(foos);

Andere Tipps

denke ich, es ist die Antwort!

SELECT NEW entities.PersonWell(c.peopleId, c.name, c.age, c.height, c.weight)
FROM 
  People AS c;

Und es ist ein Konstruktor entities.PersonWell Klasse:

public PersonWell(Integer peopleId, String name, short age, short height, short weight, short speechspeed) {
        this.peopleId = peopleId;
        this.name = name;
        this.age = age;
        this.height = height;
        this.weight = weight;
        this.speechspeed = speechspeed;
    }

Es gibt einige Codes für eine Extraktion des Ergebnisses:

List<PersonWell> resultList = query.getResultList();

Ich hoffe, es wird dir helfen! :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top