首页 > PHP资讯 > JAVA培训 > Hibernate会话工厂简介

Hibernate会话工厂简介

JAVA培训

本文向大家介绍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. ...  
    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate</artifactId> 
    <version>3.2.1.ga</version> 
    </dependency> 
    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-annotations</artifactId> 
    <version>3.2.0.ga</version> 
    </dependency> 
    <dependency> 
    <groupId>javax.persistence</groupId> 
    <artifactId>persistence-api</artifactId> 
    <version>1.0</version> 
    </dependency> 
    ...  

     

下一步就是获取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"> 
    <hibernate-configuration> 
    <session-factory> 
    <mapping class="com.onjava.modelplanes.domain.PlaneType"/> 
    <mapping class="com.onjava.modelplanes.domain.ModelPlane"/> 
    </session-factory> 
    </hibernate-configuration> 

     

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


 
  1. <!-- Hibernate session factory --> 
    <bean id="sessionFactory"   
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource"> 
    <ref bean="dataSource"/> 
    </property> 
    <property name="hibernateProperties"> 
    <props> 
    <prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop> 
    <prop key="hibernate.hbm2ddl.auto">create</prop> 
    ...  
    </props> 
    </property> 
    <property name="annotatedClasses"> 
    <list> 
    <value>com.onjava.modelplanes.domain.PlaneType</value> 
    <value>com.onjava.modelplanes.domain.ModelPlane</value> 
    ...  
    </list> 
    </property> 
    </bean> 

    常州java培训

 
本文由欣才IT学院整理发布,未经许可,禁止转载。