In JPQL kann ich abrufen Einheiten von:Wie werden nur bestimmte Felder einer Entität in JPQL oder HQL abgerufen? Was entspricht ResultSet in JPQL oder HQL?
query = entityManager.createQuery("select c from Category c");
List<Category> categories = query.getResultList();
Aber, wenn ich die ID und Namensfelder (nur) von der Kategorie Entität abrufen möchten, ich so etwas wie das Objekt ResultSet
müssen, durch welche ich sagen: rs.getString("name")
und rs.getString("id")
. Wie geht das über JPQL
, ohne die gesamte Entität abzurufen?
Grundsätzlich für eine wie Informationen aus einer Abfrage wie erhalten: select c.id,c.name from Category c
?
Ich sehe Abfragen wie: "Wählen Sie c.id, c.name aus Kategorie c" oft in JPA-Bücher, aber sie sagen Ihnen nie, wie Sie die Ergebnisse abrufen. Irgendeine Möglichkeit, dies zu tun, ohne Hibernate-spezifisch zu sein? – Daud
Mit JPA wird es genauso funktionieren. Ich habe meiner Antwort ein Beispiel hinzugefügt. Beachten Sie jedoch, dass Sie, wenn Sie beispielsweise nur die Namensspalte auswählen, die Liste, nicht die Liste
Was ist die Variable 'session' in diesem Kontext? 'org.hibernate.Session' hat keine' createQuery' Methode, zumindest in 4.3. –