-->
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.  [ 4 posts ] 
Author Message
 Post subject: Hibernate - verschiedene Schemen
PostPosted: Thu Nov 29, 2012 12:25 pm 
Newbie

Joined: Thu Nov 29, 2012 12:22 pm
Posts: 1
Ich benutze Oracle 11g und will per Hibernate auf verschiedene Schemen zugreifen bei gleichem Server und gleicher SID.

Wie gehe ich da vor, wenn A.class auf Schema 'A' und B.class auf Schema 'B' zugreifen soll?


Top
 Profile  
 
 Post subject: Re: Hibernate - verschiedene Schemen
PostPosted: Wed Dec 19, 2012 2:36 am 
Senior
Senior

Joined: Tue Oct 28, 2008 10:39 am
Posts: 196
Indem du das Schema im Mapping angibst...

@Table(name = "TABELLE_A", schema = "SCHEMA_A")

In XML kannst du einfach die Angabe auch so machen:

<class name="a.b.d.KlasseA" table="schemaf.TabelleA">


Top
 Profile  
 
 Post subject: Re: Hibernate - verschiedene Schemen
PostPosted: Fri Feb 08, 2013 5:19 am 
Newbie

Joined: Fri Feb 08, 2013 5:10 am
Posts: 2
Hallo,

kann man dieses Schema dynamisch umbiegen? Ich hab folgende Situation :

1 Schema mit Stammdaten-Tabellen
N Schemen mit Nutzdaten

Die Tabellen in den Nutzdaten sind von der Struktur her identisch aber aus Datenschutzgründen auf unterschiedliche Schemen verteilt. Jetzt möchte ich mit Hibernate die Daten aus einer der Nutzdaten-Tabellen auslesen (je nach kontext hier das Schema wählen) und die enthaltenen IDs für die Stammdaten automatisch in entsprechende Objekte laden.

Geht das? Wie würdet ihr das machen? Die einzige Lösung die mir gerade einfällt ist für jede der N Tabellen eine DAO Klasse zu schreiben (ableiten) und in jeder das Schema im Code anzupassen - das ist mir aber (copy/paste) etwas zu fehleranfällig.

Danke! Gruss Void


Top
 Profile  
 
 Post subject: Re: Hibernate - verschiedene Schemen
PostPosted: Mon Feb 11, 2013 2:17 am 
Senior
Senior

Joined: Tue Oct 28, 2008 10:39 am
Posts: 196
Benötigst du innerhalb eines "Laufs" der Anwendung oder sogar innerhalb einer Session den Zugriff auf das Schema mit den Stammdaten-Tabellen UND den Zugriff auf ein Nutzdaten-Schema?

Wenn nicht, könntest du es mit einer eigenen Namingstrategy versuchen. Auf die Art und Weise mappe ich jahresbezogene Tabellen. Ich sage meiner SessionFactory für welches Jahr sie arbeiten soll und mit der Methode "public String classToTableName(String className)" biege ich den Zugriff der Klasse className auf einen bestimmten benötigten View um. Könnte mit dem Schema ähnlich funktionieren. Ob diese Lösung z.B. in einem ApplicationServer funktioniert, bei dem du die Session-Erzeugung nicht so ohne weiteres selbst in der Hand hast, kann ich nicht beantworten. Dazu war bei mir die Notwendigkeit nicht gegeben...

Der Ansatz funktioniert evtl. auch in deinem Umfeld. Vielleicht reicht es schon, wenn du zu jedem Kontext auf Anforderung eine SessionFactory erzeugst.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 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.