Spring/Hibernate Oracle Schema

langmar

Grünschnabel
Hallo,

ich bin gerade am evaluieren, weche Frameworks ich in einem neuen Web-Projekt einsetze. Meine aktuelle Wahl sieht so aus Spring/Hibernate/JSF.

Voraussetzung: eine Oracle 8i Datenbank, die bestehen bleiben soll. Das Frontend (Oracle Forms) soll nun durch die Web-Lösung ersetzt werden, die DB später dann auf 11g migriert werden.

Auf der DB gibt es verschiedene Schematas: eines mit übergeordneten Daten (Benutzer, berechtigungen) und dann n (> 100) mal das gleiche Schema für die verschiedenen Filialen.

Nun habe ich bisher immer nur mit einem "Schema" gearbeitet und das immer als dataSource bereitgestellt:

Code:
<bean id="dataSource"
		class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
		<property name="driverClass" value="${db.driverClass}" />
		<property name="jdbcUrl" value="${db.jdbcUrl}" />
		<property name="user" value="${db.user}" />
		<property name="password" value="${db.password}" />
	</bean>

wobei die Daten (${db.jdbcUrl}) aus ner Datei im Klassenpfad kommen...

Oder über jndi lookup...

Im Projekt soll nun aber nach dem erfolgreichen Applikations-Login mit einem allgemeinen DB-User immer eben nur auf das Schema des eingeloggten Users gegangen werden.

Code:
<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="annotatedClasses">
			<list>
				<value>ch.pname.domain.Address</value>
				....
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
....

Code:
<bean id="customerDao" class="ch.pname.dao.HibernateCustomerDaoImpl">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>


Wie realisiert man so etwas am geschicktesten?
Konnte in meiner google session heute bisher keine Antwort finden :(

Wäre für jeden TipP dankbar!!
 
Hallo Ollie,

vielen Dank schonmal für deine Antwort. Hab mir das mal angesehen und das sieht sehr vielversprechend aus. Muss das morgen dann mal testen...

Viele Grüße
Martin
 
Moin, nochmal kurz in den Raum gestellt:

Du willst ja Spring/JSF einsetzen, kann man ja auch machen.

Bei Spring gibt es das Spring MVC Framework.
Im Prinzip ist JSF ein Äquivalent zu Spring MVC. Nicht in allen Bereichen, aber vielen d.h. da hättest Du 2 MVC Frameworks kombiniert, was eigentlich nur schwieriger zu warten ist und keine Vorteile bietet.

Ich persönlich versuche immer möglichst nicht zu viele Frameworks durcheinanderzuwürfeln, es sei denn es muss sein (Fremdsysteme beim Kunden)
oder aber ich brauche wirklich eine Funktionalität die ich aus einem Framework nicht bekommen kann.

Nur meine 2 cents...

Gruß Tim
 

Neue Beiträge

Zurück