`

hibernate中取得connection的方法

 
阅读更多

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

Java代码 复制代码 收藏代码
  1.   
  2. Connection conn;   
  3.   
  4. // 方法1:hibernate4中将要废弃这个方法   
  5. conn = session.connection();   
  6.   
  7. // 方法2:这个方法也可以用,速度稍慢   
  8. SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor)new Configuration().configure().buildSessionFactory();    
  9. conn = sessionFactory.getConnectionProvider().getConnection();   
  10.   
  11. //方法:3   
  12. ConnectionProvider cp =((SessionFactoryImplementor)sessionFactory).getConnectionProvider();   
  13. cp.getConnection();  
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();




2012/06/25
http://zhidao.baidu.com/question/170727565.html
按hibernate的计划,4.0开始将除去Session.connection()这个方法,所以还是最好不要使用它了。
官方的替代方法是用Session.doWork();
如:

Java代码 复制代码 收藏代码
  1. getSession().doWork(   
  2.   new Work() {   
  3.     public void execute(Connection connection) {   
  4.       // 这里已经得到connection了,可以继续你的JDBC代码。   
  5.       // 注意不要close了这个connection。   
  6.     }   
  7.   }   
  8. );  
分享到:
评论

相关推荐

    Hibernate的事务管理.doc

    本文将详细探讨Hibernate中的事务管理机制及其应用。 【正文】: 1. 事务的四大特性(ACID) - 原子性(Atomicity):事务中的所有操作被视为一个不可分割的单元,要么全部成功,要么全部失败。如果事务中的某...

    ssh(structs,spring,hibernate)框架中的上传下载

     其中save(FileActionForm fileForm)方法,将封装在fileForm中的上传文件保存到数据库中,这里我们使用FileActionForm作为方法入参,FileActionForm是Web层的表单数据对象,它封装了提交表单的数据。将...

    Spring使用技巧

    在SSH框架中,通常会利用Hibernate提供的Session来获取数据库连接。具体步骤如下: ```java // 申请变量 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; // 通过this.getSession()...

    java 企业管理 SQL

    5. **事务管理**:在Java中,你可以使用Connection对象的commit()和rollback()方法来控制事务。这在处理多条SQL语句时尤其重要,以确保数据的一致性和完整性。 6. **批处理**:批量处理SQL语句可以提高效率,减少...

    java面试宝典

    94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,F) 22 96、Hibernate工作原理及为什么要用? 22 97、...

    JSP MySQL真分页.rar

    用getFrist()、getBack()、getLast()、getNext()等方法进行取得上一页的页码,下一面的页码就可以了。 看了之后是不是很心动呢~~~ HOHO~~其实我的代码有很多不足,例如:是不是可以做成通用的分页?也可以把DBlink...

    javaee简答

    #### 六、Struts2中控制器的特征及标签库使用方法 - **控制器特征**: - Action类通常继承自`ActionSupport`类。 - 方法签名通常为`public String execute()`或带有注解的方法。 - **标签库使用方法**: - ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...

    J2EE 学习计划J2EE 学习计划J2EE 学习计划J2EE 学习计划

    熟练掌握JDBC API(如`DriverManager`、`Connection`、`PreparedStatement`、`ResultSet`等)的使用方法,对于实现数据的增删改查等基本操作至关重要。这将帮助开发者更加灵活地与各种关系型数据库进行交互。 ### ...

    J2EE总体学习计划

    - **Hibernate ORM**:了解对象关系映射(Object-Relational Mapping)的概念,掌握Hibernate的基本用法。 #### 五、测试与工具 - **单元测试**:熟悉JUnit等单元测试框架,学会编写高质量的测试代码。 - **自动化...

    服装分销系统 基于java语言的

    服装分销系统是一个基于Java语言...通过以上技术与设计,基于Java的服装分销系统能有效地提升服装企业的运营效率,实现库存自动化管理,优化订单流程,并提供数据分析支持,从而助力企业在竞争激烈的市场中取得优势。

    java期末考试试题含复习资料

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。这份"java期末考试试题含复习资料"的压缩包显然旨在帮助学生准备Java相关的期末考试,提供必要的学习资源。...祝你在考试中取得好成绩!

    Java面试宝典

    ### Java面试宝典之数据库结构详解 #### 一、引言 随着信息技术的快速发展,Java作为一门广泛应用的...通过本文的学习,希望能够帮助大家更好地理解Java中的数据库结构及相关知识点,并在未来的职业发展中取得成功。

    ARCH4系统开发指南

    2.9 如何清除Hibernate Session中的对象 22 2.10 使用日期控件 22 2.11 如何引入外部文件 23 2.11.1 主页面采用include方式,引入各个子页面jsp文件 23 2.11.2 主页面用${ctx}方式,引入超链接或资源文件等。 23 ...

Global site tag (gtag.js) - Google Analytics