Hibernate 4.3.5 ignora v$session.programa de configuración de la propiedad
-
26-12-2019 - |
Pregunta
He usado anteriormente hibernate 3.2 y boneCP pero me acaba de actualizar a la hibernación 4.3.5 y el Hikari grupo de conexión para conectar mi aplicación java a mi base de datos de oracle.I conjunto de v$session.programa para el nombre del programa quiero y agregar a la configuración de hibernate.
He creado mi propia configuración de hibernate clase que extiende el Configuration
clase de hibernate.
public class MyConfiguration extends Configuration {
private static final long serialVersionUID = 1L;
public MyConfiguration() { }
public MyConfiguration(SettingsFactory settingsFactory) {
super(settingsFactory);
}
@Override
public SessionFactory buildSessionFactory() throws HibernateException {
ServiceRegistry registry = new StandardServiceRegistryBuilder()
.applySettings(getProperties()).build();
return new MySessionFactory(super.buildSessionFactory(registry));
}
}
El MySessionFactory
es un contenedor personalizado para el SessionFactory que hace un poco de magia a través de la reflexión con la persistenceContext campo de la SessionImpl (que debe ser el problema, porque aunque trabajó antes de la actualización, también).
Entonces me llame
Document configDocument = loadHibernateConfigruationDocument();
MyConfiguration conf = new MyConfiguration();
conf.configure(configDocument);
conf.buildSessionFactory();
Sin embargo si me voy a la base de datos (mientras se ejecuta la aplicación) y la consulta de
SELECT MACHINE, PROGRAM, USERNAME, count(*) as COUNT FROM v$session GROUP BY MACHINE, PROGRAM, USERNAME;
No puedo encontrar el programa que acaba de empezar.Alguna idea de lo que estoy haciendo mal?
Solución
He encontrado la solución.Me acaba de agregar hibernate.hikari.dataSource.v$session.program
y hibernate.hikari.dataSource.v$session.username
a mi configuración y todo funcionaba bien.