Hibernate会话工厂简介

开发 后端
这里介绍获取Hibernate会话工厂,尽管无需惊天的修改,但这一工作与使用 Hibernate Annotations有所不同。您需要使用AnnotationConfiguration 类来建立会话工厂.

本文向大家介绍Hibernate会话工厂,可能好多人还不了解Hibernate会话工厂,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

安装Hibernate Annotation

要使用 Hibernate Annotation,您至少需要具备 Hibernate 3.2和Java 5。可以从 Hibernate 站点 下载 Hibernate 3.2 和 Hibernate Annotation库。除了标准的 Hibernate JAR 和依赖项之外,您还需要 Hibernate Annotations .jar 文件(hibernate-annotations.jar)、Java 持久性 API (lib/ejb3-persistence.jar)。如果您正在使用 Maven,只需要向 POM 文件添加相应的依赖项即可,如下所示:

  1. ...  
  2. <dependency> 
  3. <groupId>org.hibernate</groupId> 
  4. <artifactId>hibernate</artifactId> 
  5. <version>3.2.1.ga</version> 
  6. </dependency> 
  7. <dependency> 
  8. <groupId>org.hibernate</groupId> 
  9. <artifactId>hibernate-annotations</artifactId> 
  10. <version>3.2.0.ga</version> 
  11. </dependency> 
  12. <dependency> 
  13. <groupId>javax.persistence</groupId> 
  14. <artifactId>persistence-api</artifactId> 
  15. <version>1.0</version> 
  16. </dependency> 
  17. ...  

下一步就是获取Hibernate会话工厂。尽管无需惊天的修改,但这一工作与使用 Hibernate Annotations有所不同。您需要使用AnnotationConfiguration 类来建立会话工厂:

  1. sessionFactory = new AnnotationConfiguration().buildSessionFactory(); 

尽管通常使用 <mapping> 元素来声明持久性类,您还是需要在 Hibernate 配置文件(通常是 hibernate.cfg.xml)中声明持久性类:

  1. <!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
    > 
  2. <hibernate-configuration> 
  3. <session-factory> 
  4. <mapping class="com.onjava.modelplanes.domain.PlaneType"/> 
  5. <mapping class="com.onjava.modelplanes.domain.ModelPlane"/> 
  6. </session-factory> 
  7. </hibernate-configuration> 

近期的许多 Java 项目都使用了轻量级的应用框架,例如 Spring。如果您正在使用 Spring 框架,可以使用 AnnotationSessionFactoryBean 类轻松建立一个基于注释的Hibernate会话工厂,如下所示:

  1. <!-- Hibernate session factory --> 
  2. <bean id="sessionFactory"   
  3. class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
  4. <property name="dataSource"> 
  5. <ref bean="dataSource"/> 
  6. </property> 
  7. <property name="hibernateProperties"> 
  8. <props> 
  9. <prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop> 
  10. <prop key="hibernate.hbm2ddl.auto">create</prop> 
  11. ...  
  12. </props> 
  13. </property> 
  14. <property name="annotatedClasses"> 
  15. <list> 
  16. <value>com.onjava.modelplanes.domain.PlaneType</value> 
  17. <value>com.onjava.modelplanes.domain.ModelPlane</value> 
  18. ...  
  19. </list> 
  20. </property> 
  21. </bean> 

【编辑推荐】

  1. 获取Hibernate关联关系的方法
  2. 详细讲述Hibernate绑定JNDI
  3. Hibernate Customer客户对象
  4. 讲述Hibernate Session缓存
  5. 简单分析Hibernate读取Clob
责任编辑:佚名 来源: 博客园
相关推荐

2009-09-24 16:53:47

Hibernate A

2009-09-29 17:00:08

Hibernate c

2009-09-21 13:19:06

Hibernate s

2009-09-24 08:48:54

Hibernate技术

2009-06-02 17:18:10

hibernate框架简介

2009-06-30 14:08:00

Hibernate缓存

2009-06-12 14:40:38

Hibernate AHibernate接口

2009-06-26 16:19:32

Hibernate实现

2010-07-26 13:03:23

Telnet会话

2010-09-07 15:56:37

PPPoE会话

2012-02-08 14:24:35

HibernateJava

2021-03-06 22:50:58

设计模式抽象

2011-11-17 16:03:05

Java工厂模式Clojure

2009-06-18 11:43:40

Hibernate uHibernate s

2009-06-18 10:41:18

Hibernate3.Hibernate3.

2009-06-02 14:46:26

Hibernate关系映射教程

2009-09-28 10:39:01

Hibernate基础

2024-03-06 13:19:19

工厂模式Python函数

2009-09-25 15:05:39

Hibernate事件

2009-09-28 15:47:59

Hibernate O
点赞
收藏

51CTO技术栈公众号