Get-Connection-Objekt während der Verwendung von SessionFactory.getCurrentSession() in den Ruhezustand

Ich versuche Connection Objekt in Hibernate, wenn SessionFactory.getCurrentSession() verwendet wird.

Quellcode

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.internal.SessionImpl;

public class SOExample {
    public static void main(String[] args) throws SQLException {
        Configuration configuration = new Configuration();
        SessionFactory  sessionFactory = configuration.buildSessionFactory(new StandardServiceRegistryBuilder().configure().build());
        Session session = sessionFactory.getCurrentSession();
        Connection connection = ((SessionImpl) session).connection();
        //doing operation on connection object as per my requirement
        DatabaseMetaData databaseMetaData = connection.getMetaData();
        System.out.println(databaseMetaData.getDatabaseProductName());
    }
}

Stacktrace

Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy24 cannot be cast to org.hibernate.internal.SessionImpl
    at com.SOExample.main(SOExample.java:20)

getCurrentSession() gibt Proxy Objekt Session so kann Es nicht wirken, auf SessionImpl also, was sind die anderen Möglichkeiten, um Connection Objekt. Oder Wie SessionImpl vom Proxy-Objekt.


Andere option, die ich habe versucht, aber es sagt getConnectionProvider() Methode nicht gefunden.

SessionFactoryImplementor sessionFactoryImplementation = (SessionFactoryImplementor) session.getSessionFactory();
ConnectionProvider connectionProvider = sessionFactoryImplementation.getConnectionProvider();
try {
    Connection connection = connectionProvider.getConnection();
} catch (SQLException e) {
    e.printStackTrace();
}

Hinweis: ich bin mit hibernate-core-5.0.5.Final.jar

InformationsquelleAutor Vicky Thakor | 2016-12-16

Schreibe einen Kommentar