Wie eine JPQL Abfrage auf eine einfache Java-Objekt zuweisen?
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?
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