我需要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();
}
但是没有运气我只是在控制台中没有异常结束..我正在使用Struts 2,Hibernate和JasperReports。
任何人都可以帮我从Hibernate获取连接对象吗?
答案 0 :(得分:4)
以下代码假设您有一个现有的并且打开Hibernate org.hibernate.Session
:
public void doWorkOnConnection(Session session) {
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
//use the connection here...
}
});
}
如果您需要有关如何使用上述课程的信息,请阅读Hibernate 3.5 Javadoc。具体来说,请先阅读Session
,然后阅读Work
。
答案 1 :(得分:1)
您还可以将Session方法向下转换为SessionImpl并轻松获取连接对象:
SessionImpl sessionImpl = (SessionImpl) session;
Connection conn = sessionImpl.connection();