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:
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.
Wie realisiert man so etwas am geschicktesten?
Konnte in meiner google session heute bisher keine Antwort finden
Wäre für jeden TipP dankbar!!
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!!