atitit.获取connectionhibernate4

2015-07-24 07:25:31 · 作者: · 浏览: 22
atitit.获取connection hibernate4
1. SessionFactoryUtils法(推荐) 1
2. ConnectionProvider 法( ) 1
3. 嘎自实现法(不推荐)读取hb配置文件 1
4. 或者使用work (但是work黑头的conn是个闭包,,不好用) 1

1. SessionFactoryUtils法(推荐)

这个方法生成的多个conn实际都是一个,所以,不好用
Hibernate3.3.2版本中getSession().connection()已被弃用,替代方法SessionFactoryUtils.getDataSource(getSessionFactory()).getConnection()

2. ConnectionProvider 法( )

雅十,这个方法生成的多个conn实际都是一个,所以,不好用

ConnectionProvider cp = ((SessionFactoryImplementor)ssn.getSessionFactory()).getConnectionProvider();

3. 嘎自实现法(不推荐)读取hb配置文件

读取hb配置文件,通过jdbc api生成con
c=new Hb4JdbcX().getConnection();



wechat4propty 项目..

// c = cp.getConnection();

4. 或者使用work (但是work黑头的conn是个闭包,,不好用)



bd.bind(Connection.class).toInstance(

(Connection) new Closure2() {



@Override

public Object execute(Object arg0) {

BaseImpl basedao = new BaseImpl();

SessionFactory sessionFactory = HibernateSessionFactory.getSessionFactory();

Connection c;

try {

c = SessionFactoryUtils.getDataSource(sessionFactory ).getConnection();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

throw new RuntimeException(e);

}

return c;

}

}.execute(null));

?