Pregunta ¿Cómo obtener la conexión jdbc desde la sesión de hibernación? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

Quiero obtener la conexión jdbc desde la sesión de hibernación. Hay un método dentro de la sesión de hibernación es decir session.connection (); pero ha sido desaprobado. Sé que esto funciona todavía, pero no quiero utilizar el método obsoleto, ya que estoy seguro de que debe haber alguna alternativa para esto. A http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html método de conexión api dice que se usa org.hibernate.jdbc.Work para este propósito pero no encuentro ningún ejemplo para eso?


38
2018-02-28 13:24


origen


Respuestas:


Aquí es cómo puedes usarlo:

session.doWork(new Work() {
    @Override
    public void execute(Connection connection) throws SQLException {
        //connection, finally!
    }
});

78
2018-02-28 13:30



Prueba esto:

((SessionImpl)getSession()).connection()

22
2018-05-04 02:12



Tuve un problema similar y usé el ConnectionProvider clase para obtener la conexión. Ver mi solución:

Session session = entityManager.unwrap(Session.class);
SessionFactoryImplementor sessionFactoryImplementation = (SessionFactoryImplementor) session.getSessionFactory();
ConnectionProvider connectionProvider = sessionFactoryImplementation.getConnectionProvider();
try {
       connection = connectionProvider.getConnection();
       ...
}

11
2018-04-26 11:03