-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Hibernate Schema ersetzen
PostPosted: Thu Sep 17, 2009 3:11 am 
Newbie

Joined: Thu Apr 03, 2008 5:07 am
Posts: 3
Hey Leute
wir arbeiten mit Hibernate und ich habe eine Frage.

Unsere Datenbankstruktur ist so aufgebaut das wir mehrere Bibliotheken für verschiedene Zentren haben. Also eine Tabelle kann in verschiedenen Bibliotheken liegen das wird dann beim anmelden am Programm entschieden welche Biblitohek für einige Tabellen verwendet werden soll.

Auf der AS/400 gibt es einen schönen Befehl *Libl den gibt es bei Hibernate ja leider nicht. Jetzt meine Frage gibt es eine Möglichkeit das Schema welches im Mapping liegt im Java Programm zu überschreiben ?

Also wir haben eine Hibernate.cfg Datei in der ist ein Default Schema angegeben das soll auch verwendet werden sofern wir im Mapping nicht folgendes stehen haben

Code:
<class
    name="Tab043"
    table="TAB043"
    mutable="false"
    schema="MyBibliothek">


So das Problem ist das MyBibliothek ja statisch ist und nur einmal gesetzt wird. Jetzt habe ich aber 2 verschiedene Zentren
Zentrum a braucht die Bibliothek MyLibl1
Zentrum b braucht die Billiothek MyLibl 2

habe ich eine Möglichkeit das Schema im Mapping dynamisch zu überschreiben ???

Ich hoffe ich versteht was ich meine .

Des Weiteren suche ich gute Bücher zum Thema Hibernate könnt ihr da welche Empfehlen ??

Lg Firestone


Top
 Profile  
 
 Post subject: Re: Hibernate Schema ersetzen
PostPosted: Thu Sep 17, 2009 8:47 am 
Beginner
Beginner

Joined: Thu Oct 04, 2007 12:22 pm
Posts: 48
Ja, das ist möglich, dann musst Du das Laden der Mapping-XMLs allerdings programmatisch vornehmen.
Dazu baust Du die Hibernate-Configuration (die eigentlich automatisch aus der Konfigurationsdatei initialisiert
wird) manuell auf, etwa:

Code:
Configuration config = new Configuration()
                .setProperty("hibernate.dialect", dialect)
                .setProperty("hibernate.connection.driver_class", driver)
                (...)


danach lädst Du die Mapping Dateien als String und übergibst sie der Konfiguration.
vorher kannst Du alle Änderungen am Mapping vornehmen, die Du brauchst:
[/code]
String mapping = loadMapping(path);
mapping = insertCorrectLibrarySchema(mapping);
config.addXml(entityMapping);
[code]

Als Buchtipp geht eine klare Empfehlung an "Java Persistence with Hibernate". Es ist von Gaving King
selbst geschrieben und somit im Inhalt nicht zu schlagen. Es ist aber eher umfangreich und für einen
tieferen Blick in Hibernate gedacht.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.