# Dynamische Tabellennamen bei JPA / Hibernate



## reinsle (25. Nov 2009)

Hallo zusammen,

ich habe in einem meiner Projekte jetzt die Anforderung auf einen "modernen" Persistence-Wrapper umzustellen. 

Allerdings müssen die Tabellennamen konfigurierbar sein, evtl auch mit Schema-Angabe.

Die Schema-Angabe kann ich lösen, in dem ich bei konfiguriertem Schema jeweils vor dem Tabellennamen das Schema mit punkt davorsetze. Aber was mache ich mit den dynamischen Tabellennamen?

Mit JPA habe ich es als Annotations probiert, aber hier kann ich nur static final Felder angeben, welche ich ja zur Laufzeit nicht mehr ändern kann. Wenn ichs über Mapping-Dateien machen will, muss ich dann per Hand in den .xml-Dateien rummurksen? Find ich jetzt auch ned unbedingt die Musterlösung.

Habt ihr da evtl eine Idee, wie man das lösen könnte?

Derzeit haben wir hier OJB im Einsatz, welches aber seit Jahren nicht mehr weiterentwickelt wird, und deshalb abgelöst werden soll.

Danke euch

Robert


----------



## maki (25. Nov 2009)

Dynamische Tabellennamen?
Wozu das denn? 
Sollte imho mit keinem ORM sauber funktionieren.


----------



## reinsle (25. Nov 2009)

Hy,



maki hat gesagt.:


> Dynamische Tabellennamen?
> Wozu das denn?
> Sollte imho mit keinem ORM sauber funktionieren.



Tja, ich brauche halt die Möglichkeit, die Tabellennamen zu konfigurieren, konkret habe ich eine Preference-Page (Eclipse RCP), in der die Namen der Tabellen hinterlegt sind. Die Software, welche wir haben, wird in verschiedensten Projekten eingesetzt, bei denen die Tabellen immer andere Namen haben. Und das dann über irgendwelche Fragmente oder konfigurationsprojekte zu machen, fördert ja auch nicht gerade die Flexibilität der Software.

Robert


----------



## byte (25. Nov 2009)

Guck Dir mal 
	
	
	
	





```
NamingStrategy
```
 an (siehe Abschnitt 3.6 in der Ref. Doku.).


----------



## maki (25. Nov 2009)

Hm.. klingt schräg, aber ich weiss ja auch nicht was ihr da macht.

Sehe gerade das OJB auch JDO 1.0 implementiert, JDO gibt es immer noch (aktuell glaube ich 2.1?), vielleciht wäre darüber eine einfachere Migration möglich.


----------



## reinsle (25. Nov 2009)

Hy,



byte hat gesagt.:


> Guck Dir mal
> 
> 
> 
> ...



Vielen Dank für den Tipp, ich denke, das ist ein sehr guter Ansatzpunkt.

Robert


----------



## reinsle (25. Nov 2009)

Hy,



maki hat gesagt.:


> Hm.. klingt schräg, aber ich weiss ja auch nicht was ihr da macht.
> 
> Sehe gerade das OJB auch JDO 1.0 implementiert, JDO gibt es immer noch (aktuell glaube ich 2.1?), vielleciht wäre darüber eine einfachere Migration möglich.



Um dann wieder auf was veraltetes aufzusetzen? Ich bau die Applikation gerade komplett um, da hab ich auch die Gelegenheit den ORM auszutauschen.

Robert


----------



## maki (25. Nov 2009)

Nur so nebenbei, JDO ist nicht veraltet


----------



## reinsle (26. Nov 2009)

Hy,

also das mit der NamingStrategy funktioniert echt gut. Vielen Dank nochmals.

Robert


----------



## byte (26. Nov 2009)

Och, ein Klick auf "Danke" hätte auch gereicht.


----------

