如何从 Hibernate Session 获取 java.sql.Connection 对象

Roo*_*007 2 java hibernate

我有需要的地方java.sql.Connection。但我这里用的是Hibernate。不知何故,我进行了研究,发现了以下替代方案,但这不起作用。

import org.hibernate.connection.ProxoolConnectionProvider;
public class ConnectionDB{
    //I have imported below class 
    ProxoolConnectionProvider proxoolProvider = new ProxoolConnectionProvider();
    org.hibernate.cfg.Configuration cfg = HibernateUtil.getConfiguration();//this method will return configuration 
    java.util.Properties props =  cfg.getProperties();//This will return Properties Object
    //Using properties object I just tried to get The Connection Object by following method
    proxoolConn.configure(props);// I just configured the Porperties object 
    proxoolConn.getConnection();
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我最终毫无例外地在控制台中结束了。我使用的是 Struts 2、Hibernate 和 JasperReports。

任何人都可以帮我从 Hibernate 获取连接对象吗?

Mue*_*uel 6

以下代码假设您有一个现有的且打开的 Hibernate org.hibernate.Session

public void doWorkOnConnection(Session session) {
  session.doWork(new Work() {
    public void execute(Connection connection) throws SQLException {
      //use the connection here...
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

如果您需要有关如何使用上述类的信息,请阅读Hibernate 3.5 Javadoc。具体来说,阅读Session然后Work