Wie behandelt man die Situation, in der eine Postgres-Datenbank mit vielen Datenbankrollen (die die Benutzer repräsentiert) ausgeführt wird und Hibernate verwendet werden soll, so dass jede Datenbankanweisung mit einer Verbindung ausgeführt wird, die mit dem bestimmten Benutzer abgerufen wird?Wie man eine Webapp mit vielen DB-Rollen (Benutzer) mit Hibernate verwaltet?
Um ein Session
/EntityManager
wir es von einem EntityManagerFactory
holen müssen, die ein DB Benutzer/Passwort benötigt, in der Regel in persistence.xml
wie folgt angegeben:
<property name="javax.persistence.jdbc.user" value="SYSDBA"/>
<property name="javax.persistence.jdbc.password" value="masterkey"/>
Natürlich ich ein Session
/EntityManager
erstellen für jeden Benutzer mit einem separaten EntityManagerFactory
, aber das ist eine kostspielige Operation. Wie kann dieses Problem gelöst werden?
Was ist die zugrunde liegende RDBMS? – kevingreen
Ich frage das, weil Oracle das Ändern des Schemas während einer Sitzung unterstützt. 'ALTER SESSION SET CURRENT_SCHEMA' – kevingreen
Die DB ist Postgres. –