Führen Sie mithilfe von Hibernate einen Join über zwei Tabellen in verschiedenen Datenbanken durchJava

Java-Forum
Anonymous
 Führen Sie mithilfe von Hibernate einen Join über zwei Tabellen in verschiedenen Datenbanken durch

Post by Anonymous »

Ich habe zwei Tabellen in zwei separaten Oracle-Datenbanken (keine Schemata), die ich in Hibernate zusammenführen muss. Derzeit werden zwei Hibernate-Sitzungen an die separaten Datenbanken gesendet. Bevor irgendjemand sagt, sieh dir Hibernate Shards an, habe ich einen Großteil des Tages damit verbracht, mir dieses Unterprojekt anzusehen und habe Folgendes herausgefunden: Es handelt sich um horizontal partitionierte Daten (alle Tabellen müssen in allen Datenbanken vorhanden sein, AFAIK), es gibt keine Möglichkeit, Shards anzuweisen, nur in einer Datenbank zu suchen (Hibernate Shards-Dokumente), und es wird nicht mehr daran gearbeitet.
Dinge, über die ich nachgedacht habe, um dieses Problem zu lösen:
  • Ein findAll() oder eine eingeschränkte Variante davon für beide Tabellen ausführen und den Join mithilfe einiger Schleifen manuell durchführen. (OK für sehr kleine Tabellen – unerschwinglich ab kleinen Tabellen)
  • Lassen Sie die Sitzungen eine Art Interaktion durchführen (ich habe keine Ahnung, ob das überhaupt machbar ist – ich muss mir die Hibernate Session API ansehen)
  • Entfernen des Datenbanknamens aus der URL-Zeichenfolge verschiedener hibernate-xxxx.cfg.xml und fügen Sie sie wie folgt in die separaten hbm.xml-Dateien ein:
    (Scheint nach meinen ersten Tests nicht zu funktionieren und das scheint eine Sicherheitslücke in LKW-Größe zu sein)
  • Verwenden Sie das Repository-Muster (Unsicher, ob mein Java-Fu stark genug ist)
Gibt es etwas, das ich in einem der oben genannten Fälle übersehe, oder kann ich das? ein anderer Weg sein, den ich oben nicht aufgeführt habe?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post