Comment obtenir une connexion jdbc à partir d’une session d’hibernation?

Je veux obtenir une connexion jdbc à partir d’une session d’hibernation. Il existe une méthode à l’intérieur d’une session d’hibernation, c.-à-d. Session.connection (); mais il a été déconseillé. Je sais que cela fonctionne encore, mais je ne veux pas utiliser une méthode obsolète car je suis sûr qu’ils doivent avoir une alternative pour cela? Sur http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html , la méthode de connexion utilisée par api utilise org.hibernate.jdbc.Work à cette fin, mais je ne trouve aucun exemple pour cela?

Voici comment vous pouvez l’utiliser:

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

Essaye ça:

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

J’ai eu un problème similaire et j’ai utilisé la classe ConnectionProvider pour obtenir la connexion. Voir ma solution:

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