hibernate4中取得connection的方法
在hibernate3中,使用了c3p0连接池,尝试了多种办法取得connection对象,以下两种可以使用。
按hibernate的计划,4.0开始将除去Session.connection()这个方法,所以还是最好不要使用它了。
官方的替代方法是用Session.doWork();
如:
- Connection
conn; -
- //
方法1:hibernate4中将要废弃这个方法 - conn
= session.connection(); -
- //
方法2:这个方法也可以用,速度稍慢 - SessionFactoryImplemento
r sessionFactory = (SessionFactoryImplemento r)new Configuration().configure().buildSessionFactory(); - conn
= sessionFactory.getConnectionProvider().getConnection(); -
- //方法:3
- ConnectionProvider
cp =((SessionFactoryImplemento r)sessionFactory).getConnectionProvider(); - cp.getConnection();
按hibernate的计划,4.0开始将除去Session.connection()这个方法,所以还是最好不要使用它了。
官方的替代方法是用Session.doWork();
如:
- getSession().doWork(
-
new Work() { -
public void execute(Connection connection) { -
// 这里已经得到connection了,可以继续你的JDBC代码。 -
// 注意不要close了这个connection。 -
} -
} - );
本文介绍了在Hibernate4中获取数据库连接的几种方法,并讨论了Session.connection()方法被废弃的问题及替代方案。

1296

被折叠的 条评论
为什么被折叠?



