Join-Queries über mehrere Entities

ablake27

Mitglied
Ich habe ein Entity: Auftrag und ein Entity:Position


Jetzt möchte ich mir zu einem Auftrag die Auftragsdaten sowie alle Auftragspositionen anzeigen lassen.

Query q1 = em.createNativeQuery(select * from Auftrag, Position where Auftrag.bestellnummer = Position.bestellnummer);
List list = q1.getResultList();

dann bekomme ich eine Liste vom Typ Object zurück mit der ich nicht so recht was anzufangen weiss, da ich nicht auf die Attribute zugreifen kann (oder doch???).

Ich möchte im prinzip beliebige select-statements abschicken können und die Ergebnisse in einer JTable darstellen.
Es gibt also keine Entities die dem Ergebnis meiner Abfrage entsprechen.


Danke im Voraus
 
Zuletzt bearbeitet:
S

SlaterB

Gast
schau dir doch das Ergebnis-Objekt an, von welchem Typ ist es, doch gewiss ein Object[] mit allen Daten, die bei * eben kommen,
entweder alle Attribute einzeln oder mit etwas Intelligenz von seiten des Frameworks das jeweilige Auftrag- + Position-Objekt

und was könntest du stattdessen erwarten? ohne eine Vorstellung kann doch kaum genau das rauskommen was zufällig in deine JTable passt,
was immer das ist
 

ablake27

Mitglied
Danke,
das glaube ich sofort, daß da meine Daten drin sind, aber ich komme nicht dran.
Bei einem Entity habe ich meine getter-Methoden, aber bei einem Object nicht.

Ich kenne das von Oracle ADF so, daß ich mir basieren auf SQL Abfragen dynamisch "EntityObjekte" erzeugen kann, die ich dann mit gettern auslesen kann.

Das muss doch mit Hibernate auch möglich sein?
 
S

SlaterB

Gast
ich kann mir wenig vorstellen, was du damit meinst, aus Zauberei passiert nichts in der Welt,

dynamisch Klassen zu erstellen bring rein gar nix,
stell dir vor der Code lautet

Java:
List<DynamicEntity345> list = load..(sql);

DynamicEntity345 entity = list.get(0);
entity.get?
und nun? wie willst du von entity irgendwas aufrufen wenn du die Klasse nicht kennst, wenn sie dynamisch aus dem Nichts herbeigezaubert wird?
nein, wenn überhaupt, dann muss eine solche Klasse vorher bekannt sein, statisch fest statt dynamisch beliebig,
allenfalls automatisch erzeugt, was du vielleicht meinst,

dazu kann ich wenig sagen, außer dass man quasi alles, was automatisch geht, auch erstmal manuell selber eintippen können sollte,
wie z.B. die Mappings zu den DB-Tabellen

> Das muss doch mit Hibernate auch möglich sein?

ein solcher Satz macht nach einer langen Diskussion um Hibernate vielleicht Sinn,
stattdessen nennst du diesen extrem wichtigen Fachbegrifff zur Eingrenzung des Themas hier zum ersten Mal ;)


in Hibernate ist es möglich,
Java:
List<SimpleResult> list = load("select my.package.SimpleResult(d.x, e.y) from D d, E e where e.z=a;")
auszuführen, sofern es eine Klasse SimpleResult mit passenden Konstruktor gibt, ob nun manuell oder automatisch erzeugt
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JPA Self-Join gegen große Tabelle bricht irgendwann ab Data Tier 7
I JPA JOIN on JOIN Data Tier 0
N JPA JOIN mit JPQL schlägt fehl/ Einfaches Beispiel gesucht Data Tier 0
P Hibernate Mapping - Nur eine Spalte per Join aus anderer Tabelle holen Data Tier 5
T Named Query Join Data Tier 3
J JOIN in CriteriaQuery Data Tier 4
LadyMilka (Hibernate) in Criteria implizierter Join durch Subquery's Data Tier 8
D Hibernate - LEFT JOIN vs. JOIN Data Tier 2
D OneToMany ohne Join Table Data Tier 3
GilbertGrape Hibernate: Join vermeiden Data Tier 12
G Hibernateabfrage mit left join Data Tier 3
pusteblume inner join Data Tier 3
GilbertGrape Hibernate: Join auf Subquery? Data Tier 7
GilbertGrape Probleme mit einem Query (left join) Data Tier 2
ilumin [Hibernate] Intelligenter Hibernate Join Data Tier 15
GilbertGrape wieder hibernate und wieder queries. Data Tier 6
GilbertGrape hibernate: Probleme mit Queries Data Tier 2
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Data Tier 1
M JPA Query: Kann ich Objekte einer Oberklasse über Objekte der Unterklassen abfragen? Data Tier 5
Y JPA Annotations-Schema über Property setzen möglich Data Tier 2
T JPA ID-Generierung über Sequenzen Data Tier 8
T JPA Order By über Nullable Attribut Data Tier 4
J Value Objects über Hibernate JPA abbilden Data Tier 5
O Hibernate: Suche über Criteria Data Tier 7
pusteblume Hibernate: Abfrage über 2 Tabellen Data Tier 2
M @Id über zwei Spalten Data Tier 11
H Abfrage über zwei Datenquellen Data Tier 5

Ähnliche Java Themen


Oben