2011-01-05 7 views
2

Ist es möglich, einige Spalten aus einigen Tabellen (Entitäten) zu nehmen und sie mit JPA, Hibernate in anderen Tabellenspalten zu speichern?JPA Zusammenführen von zwei oder mehr Tabellen in eine andere Tabelle

Zum Beispiel;
Tabelle 1: ID, Name, Vorname, ...
Table2: id, Schule, Stadt, ...

Table3: unqId, Vorname, Name, Schule, Stadt

Wählen Sie aus Tabelle 1 und Tabelle 2 und fügen Sie in Tabelle 3 ein.

Alternativ können Sie das Ergebnis als Table3-Objekt aus Tabelle1 und Tabelle2 auswählen.

Danke.

Antwort

1

Ja, wenn die Table1 und Table2 eine Beziehung hat, oder sagen, sind verbindbar. Dann können Sie eine Einfügeabfrage in SQL so machen,

insert into Table3 (....) select .... from Table1 inner join Table2.. 

Nun, wie würden Sie das gleiche mit JPA erreichen.

  1. Holen Sie sich das gewünschte POJO eine NamedQuery mit oder was auch immer Sie denken, ist besser
  2. die das Ergebnis in der Hand
  3. Persist Table3

Bei Table3 Eigenschaften Set Table1 und Table2 sind nicht joinable mit , dann müssen Sie beide separat abfragen. Und machen Sie die gleichen Schritte, 2 und 3, in JPA. In SQL wäre es möglich, dafür gespeicherte Prozeduren zu verwenden.

+0

Danke für Ihre Antwort, ich habe die native SQL mit der ersten Option verwendet. –

+0

@ykartal: Froh, das zu hören. Bitte schön. –

Verwandte Themen