如何从hibernate会话获取jdbc连接?

我想从hibernate session中获得jdbc连接。hibernate session里面有方法ie session.connection(); 但已被弃用。 我知道这仍然工作,但我不想使用不推荐的方法,因为我相信他们必须提供一些替代这个? 在http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html连接方法API说使用org.hibernate.jdbc.Work为此目的,但我没有find任何这样的例子?

以下是你如何使用它:

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

尝试这个:

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

我有一个类似的问题,我用ConnectionProvider类来获得连接。 看我的解决scheme:

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