直接上图:
从上图可以看出,session有两种方法获取数据库连接:
1.session.getJDBCContext().getConnectionManager().getConnection();
2.((SessionFactoryImplementor)session.getSessionFactory()).getConnectionProvider().getConnection();
无论是使用哪一种方法,最终都是从sessionFactory的Settings中获取ConnectionProvider,然后再从ConnectionProvider获取connection。