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?

¿Fue útil?

Solución

He encontrado la solución.Me acaba de agregar hibernate.hikari.dataSource.v$session.programy hibernate.hikari.dataSource.v$session.username a mi configuración y todo funcionaba bien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top