# Hibernate mit 2 Datenbanken



## Verjigorm (6. Aug 2010)

Hallo,
ich habe noch nicht die große Erfahrung mit Hibernate und habe grad folgendes Problem:

Daten sollen aus einer MsSQL-Tabelle ausgelesen und in eine MySQL-Tabelle geschrieben werden.
Habe meine Datenklasse mit Annotations erstellt und die Daten aus der MsSQL-Tabelle ausgelesen.
Nun würde ich diese Daten gerne in MySQL schreiben und da habe ich natürlich das Problem, dass sowohl die TabellenNamen, als auch die Spaltennamen unterschiedlich sind.

Meine Datenklasse hat als Annotation z.B.

```
@Table(name="UserConfig")
```
Für MsSQL passt das, aber für die MySQL-Seite müsste ich den Namen der MySQL-Tabelle ("table_user") angeben, aber 2mal @Table geht natürlich nicht.

Als schnelle Lösung habe ich jetzt meine Datenklasse 2mal geschrieben, jeweils mit den selben Variablen und passenden Annotation.
Ich lese also die Daten aus, speichere sie in meiner ersten Datenklasse, kopier sie "von Hand" in die zweite Datenklasse und speichere diese dann in MySQL.
(Ich hoffe ihr versteht meinen Weg  )

Das ist natürlich sehr umständlich, geht das nicht irgendwie schneller/besser?
Mir fehlen dazu irgendwie die richtigen Schlagworte um was in den Suchmaschinen zu finden.
Also die Frage nochmal auf den Punkt gebracht:
Kann ich eine Klasse so benutzen, dass ich sie für 2 Datenbanken gleichzeitig benutzen kann und wenn ja, wie?

mfg Verjigorm


----------



## Verjigorm (9. Aug 2010)

Problem noch nicht verbessert gelöst


----------



## Geeeee (9. Aug 2010)

Irgendwie kann doch das gar nicht "ordentlich" funktionieren bzw. gelöst werden.
Woher sollte er denn beim Lesen und / oder Schreiben wissen, welchen Weg er gehen soll?
Man könnte es (und das wahrscheinlich noch unschöner und fehleranfällig) über zwei XMLs konfigurieren und je nach Bedarf die passende Session nutzen. Also in deinem Fall wären dann zwei Sessions da, von denen du wissen musste, welche nun welche Konfig behinhaltet.
Dann könnte man sich einmal (auf keinen Fall lazy  ) alle "User" holen. Transaktion / Session schließen. Neue Session (mit andere Config hochfahren) und neue Transaktion mit Speichern der "User" beginnen. Müsstest dann aber sofort gespeichert werden, damit er nicht versucht mit einem Update das Objekt abzugleichen. Ob diese durchgeknallte Theorie klappt? Keine Ahnung.

Hab nun mal "User" geschrieben, weil es laut der Annotation so ausschaut


----------



## Verjigorm (9. Aug 2010)

Den Weg über 2 XML-Files hatte ich auch schon in Gedanken, aber erschein mir genauso unsinnig.

Naja gut, dann scheint mein Weg ja der beste gewesen zu sein. 
Hätte ja sein können, dass es dafür spezielle Annotationen gibt oder sonstwas.

mfg Verjigorm


----------

