hibernate系列1

http://hibernatesynch.sourceforge.net/ 

hibernate 需要的jar包

  包说明:

1、c3p0-0.9.1.jar  C3PO是一个数据库连接池,Hibernate可以配置为使用C3PO连接池。如果你准备用这个连接池,就需要这个jar包。

2、cglib-2.2.jar 

CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包

asm.jar ASM字节码库 如果使用“cglib”则必要 

asm-attrs.jar ASM字节码库 如果使用“cglib”则必要

cglib.jar CGLIB 字节码解释器 如果使用“cglib”则必要

3、commons-collections.jar  Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大。

4、dom4j.jar Hibernate用它来读写配置文件。

5、ehcache.jar EHCache缓存

6、Hibernate3.jar 核心库

7、jta.jar 标准的JTA API

8、

proxool.jar Proxool JDBC连接池

最小必要包为antlr.jar,cglib.jar,asm.jar, asm-attrs.jar,  commons-collections.jar, commons-loggins.jar ,encache.jar, dom4j.jar,log4j.jar,jta.jar

 

antlr.jar:语言转换工具,hibernate用他将hql语句转换为sql语句

下面是一个demo:

工程图如下:

2、hibernate.cfg.xml

hibernate 配置

3、HibernateHelper.java

HibernateHelper

4、UserDao.java

UserDao

5、User.hbm.xml

User.hbm.xml

6、User.java

User

7、TestUserDao.java

测试

说明:

Hibernate 的<generator class="native"></generator>的不同属性含义

由Hibernate根据底层数据库自行判断采用identity、hilo、sequence
其中一种作为主键生成方式。

 <property name="hibernate.current_session_context_class">thread</property>

1、本地事务
<property name="hibernate.current_session_context_class">thread</property>
2、全局事务
<property name="hibernate.current_session_context_class">jta</property>

这样就解决了!

如果在获得session 对象时使用的是 session = sessionFactory.getCurrentSession();

则此处可以改成 session = sessionFactory.openSession();

这样就不用修改上面的配置文件了

posted @ 2012-12-19 16:44  yhql_916  阅读(209)  评论(0编辑  收藏  举报