在hibernate3中,使用了c3p0连接池,尝试了多种办法取得connection对象,以下两种可以使用。

Java代码 
     Connection conn;  // 方法1:hibernate4中将要废弃这个方法  conn = session.connection();  // 方法2:这个方法也可以用,速度稍慢  SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor)new Configuration().configure().buildSessionFactory();   conn = sessionFactory.getConnectionProvider().getConnection();  //方法:3  ConnectionProvider cp =((SessionFactoryImplementor)sessionFactory).getConnectionProvider();  cp.getConnection();  

按hibernate的计划,4.0开始将除去Session.connection()这个方法,所以还是最好不要使用它了。
官方的替代方法是用Session.doWork();
如:

Java代码 
         getSession().doWork(  new Work() {  public void execute(Connection connection) {  // 这里已经得到connection了,可以继续你的JDBC代码。  // 注意不要close了这个connection。
            }  }  );

另外一个方法:

package com.trendcom.base.util;import java.sql.Connection;
import java.sql.SQLException;import javax.sql.DataSource;import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate4.SessionFactoryUtils;
import org.springframework.web.context.ContextLoaderListener;public class DataSourceUtil {private static SessionFactory sessionFactory=null;static{  sessionFactory=(SessionFactory) ContextLoaderListener.getCurrentWebApplicationContext().getBean("sessionFactory");}public static Connection getConnection(){try {return getDataSource().getConnection();} catch (SQLException e) {e.printStackTrace();}return null;}public static SessionFactory getSessionFactory() {return sessionFactory;}public static void setSessionFactory(SessionFactory sessionFactory) {DataSourceUtil.sessionFactory = sessionFactory;}private static DataSource getDataSource() {return SessionFactoryUtils.getDataSource(getSessionFactory());}}

hibernate4中取得connection的方法相关推荐

  1. nginx 学习笔记(4) Connection处理方法

    nginx支持connection的多种处理方法.nginx运行的平台确定了可用的处理方法. 在特定平台下connection的多种处理方法中,nginx会自动选择一种最有效的方法.然而,如果需要,你 ...

  2. oracle删除表中数据_工作表中提供的特定数据在数据库中批量删除的方法

    大家好,我们今日继续讲解VBA数据库解决方案的第25讲内容:利用VBA,把工作表中提供的数据在数据表中批量删除的方法.在上一讲中,我们讲了实现在数据表中删除记录的一般方法,这种方法可以对重复的数据进行 ...

  3. PHP中的常见魔术方法功能作用及用法实例

    这篇文章主要介绍了PHP中的常见魔术方法功能作用及用法实例,本文讲解了构造函数和析构函数__construct()和__desctruct()以及属性重载(Property Overloading)_ ...

  4. java jdbc reparecall_Java Connection.prepareCall方法代碼示例

    本文整理匯總了Java中java.sql.Connection.prepareCall方法的典型用法代碼示例.如果您正苦於以下問題:Java Connection.prepareCall方法的具體用法 ...

  5. HTTP协议中request报文请求方法和状态响应码

    一个HTTP请求报文由4部分组成: 请求行(request line) 请求头部(header) 空行 请求数据 下图给出了请求报文的一般格式: 请求行中包括了请求方法,常见的请求方法有: GET:从 ...

  6. oracle Blob保存方式,关于文件保存到Oracle中BLOB字段的方法及例子

    关于文件保存到Oracle中BLOB字段的方法及例子 ------------------------------------------- public class FileOpClass { pu ...

  7. [转载] Python3.X 线程中信号量的使用方法示例

    参考链接: 示例说明Python2.x和Python3.x之间的重要区别 信号量semaphore 是一个变量,控制着对公共资源或者临界区的访问.信号量维护着一个计数器,指定可同时访问资源或者进入临界 ...

  8. mysql图片_往MySQL中存储图片的方法

    1 介绍 在设计到数据库的开发中,难免要将图片或音频文件插入到数据库中的情况.一般来说,我们可以同过插入图片文件相应的存储位置,而不是文件本身,来避免直接向数据库里插入的麻烦.但有些时候,向MySQL ...

  9. Oracle Spatial中上载GIS空间数据方法研究

    Oracle Spatial中上载GIS空间数据方法研究 作者:佚名    文章来源:博客中国    点击数:6873    更新时间:2006-8-24 摘要:采用Oracle Spatial 存储 ...

最新文章

  1. 【NeurIPS2021】存在潜在变量和选择偏差的递归因果结构学习
  2. 努力学习 HTML5 (2)—— 元素的增和删
  3. magento根据浏览次数为商品做排行
  4. linux下字符串查找 与替换
  5. PHP-fpm 优化问题
  6. 【struts2+hibernate+spring项目实战】统一异常处理(ssh)
  7. 久坐的危害和解决方式
  8. ImportError: dynamic module does not define module export function (PyInit__caffe)
  9. 前端学习(3050):vue+element今日头条管理-表格组件基本使用
  10. tablednd保存 php,JQuery-tableDnD 拖拽的基本使用介绍
  11. 关于java.lang.ArithmeticException: divide by zero的异常
  12. 大数据失败案例之七宗罪
  13. app 缓存html页面,HTML5本地存储VS App缓存离线网站浏览
  14. 图像处理——PIL、OpenCV和numpy表示图像数据格式的相互转换
  15. linux 上传下载工具有哪些,Linux上传下载工具
  16. 鼠标的默认事件之oncontextmenu及其案例
  17. 多目标决策---多目标线性规划的解法
  18. 【http协议2】 深入理解HTTP协议
  19. dede图片上传php,织梦DEDE 栏目字段添加并调用:例如图片上传
  20. 易洁仓库管理 v3.1.125 网络版 官方

热门文章

  1. alternate端口什么意思_宽带光信号闪红灯是什么意思?
  2. 若依前后端分离如何写移动端接口_前后端分离实践的架构设计
  3. Mybatis入门:2(xml形式的增删改查)
  4. Java项目:无库版银行管理系统(java+Gui+文档)
  5. MySQL设值自动修改时间
  6. Ubuntu16.04 搭建nexus 私服 学习步骤以及安装maven和git
  7. 大数据岗位必知必会的53个Java基础
  8. iOS 解决app退出后台应用重新启动的问题
  9. 虚拟货币市值回调到4100亿整数关口,EOS逆势站上100关口
  10. 白盒测试实践-任务完成