Einstellung der JPA-Persistenz-Eigenschaften dynamisch

Sagen wir, ich habe folgende persistence.xml mit der Verbindungs-url, user & Passwort alle hart codiert.

Folgende ist für Hibernate 3.2. Für Hibernate 3.5 ++, wir müssen uns ändern "hibernate.Verbindung" auf "javax.Persistenz". Aber lassen Sie mich Fragen, diese Frage unabhängig von der Literale "hibernate.Verbindung" oder "javax.Persistenz".

<persistence-unit name="obamacare" transaction-type="RESOURCE_LOCAL">
  <provider>org.hibernate.ejb.HibernatePersistence</provider>
  <exclude-unlisted-classes>false</exclude-unlisted-classes>
  <properties>
    <property name="hibernate.archive.autodetection" value="class, hbm"/>
    <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="hibernate.connection.url" value="blah blah blah"/>
    <property name="hibernate.connection.username" value="careuser"/>
    <property name="hibernate.connection.password" value="carepass"/>
    <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
    <property name="hibernate.show_sql" value="true"/>
  </properties>
  </persistence-unit>
</persistence>

Jedoch, wir müssen den url, user & Passwort dynamisch. Es gibt eine geplante Authentifizierungs-server, der dazu dient die url, user & Passwort. So dass wir nicht brauchen, individuell zu konfigurieren, die Myriaden von webapps, die mit irgendeiner form von jdbc, hibernate oder JPA. Neben der Frage der Sicherheit nicht wollen, um zu speichern/verwalten-Passwörter auf sichtbaren text-Dateien.

Soweit JPA betroffen ist, wie kann ich diesen PPV Eigenschaften dynamisch? Ich Suche zwei Sätze von Antworten:

  1. Für Sie eine Lösung, die JPA-vendor independent (toplink, eclipselink, hibernate, etc) - gibt es eine JPA-Funktionalität, die würde lassen Sie mich diese drei Eigenschaften dynamisch?

  2. Wenn ich darf, hängt völlig auf Hibernate, neben der möglichen PPV nur avenue, gibt es eine Möglichkeit, dieses Ziel zu erreichen, ohne über das Spring-framework (das scheint wie ein riesiges Ungeheuer mit Tentakeln, die alle über den Ort)?

Ich wäre begeistert, wenn Sie auch wollen, um zu werfen in zwei-Cent/Pfund/Euro auf JNDI und wie konnte ich es verwenden, um ersetzen Sie die Funktionalität von persistence.xml Eigenschaften. Das ist aber nicht die Priorität der Frage.

  • Die meisten der Dinge, die Sie erreichen wollen, kann leicht getan werden mit Frühling. Ich bin mit der Feder für ein paar Wochen und ich bereue den switch überhaupt. Der Frühling scheint wie eine große Last von Arbeit, aber es ist eigentlich ganz einfach.
InformationsquelleAutor Blessed Geek | 2012-07-27
Schreibe einen Kommentar