Digamos que tengo los siguientes persistence.xml con la url de conexión, todo codificado por el usuario & contraseña.Configuración de las propiedades de persistencia JPA dinámicamente
La siguiente es para Hibernate 3.2. Para Hibernate 3.5 ++, tenemos que cambiar "hibernate.connection" por "javax.persistence". Pero permítanme hacer esta pregunta independientemente de los literales "hibernate.connection" o "javax.persistence".
<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>
Sin embargo, tenemos que establecer la dirección URL, el usuario & contraseña de forma dinámica. Hay un servidor de autenticación propuesto, que sirve a la URL, el usuario & contraseña. De manera que no es necesario configurar individualmente las miríadas de aplicaciones web que utilizan algún tipo de JDBC, hibernación o APP. Además del problema de seguridad de no querer almacenar/administrar contraseñas en archivos de texto visibles.
En lo que se refiere a la APP, ¿cómo puedo establecer estas propiedades de la APP de forma dinámica? Estoy buscando a dos conjuntos de respuestas:
Para una solución que es JPA proveedor independiente (vínculo superior, EclipseLink, hibernación, etc.) - ¿Hay alguna funcionalidad APP que me permitiera establecer estas tres propiedades de forma dinámica?
Si se me permite depender totalmente de Hibernate, además de la posible única ruta JPA, ¿hay alguna manera de lograr esto sin incluir el marco Spring (que parece una enorme monstruosidad con tentáculos por todas partes)?
estaría eufórico si también desea lanzar en dos centavos/Quids/rupias en JNDI y cómo podría utilizarlo para reemplazar la funcionalidad de las propiedades persistence.xml. Sin embargo, esa no es la prioridad de la pregunta.
La mayoría de las cosas que desea lograr se pueden hacer fácilmente con Spring. Estoy usando Spring por unas semanas y no me arrepiento del cambio. La primavera parece una gran carga de trabajo, pero en realidad es bastante fácil. – siebz0r