Hibernate會話工廠簡介
本文向大家介紹Hibernate會話工廠,可能好多人還不了解Hibernate會話工廠,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
安裝Hibernate Annotation
要使用 Hibernate Annotation,您至少需要具備 Hibernate 3.2和Java 5。可以從 Hibernate 站點(diǎn) 下載 Hibernate 3.2 和 Hibernate Annotation庫。除了標(biāo)準(zhǔn)的 Hibernate JAR 和依賴項(xiàng)之外,您還需要 Hibernate Annotations .jar 文件(hibernate-annotations.jar)、Java 持久性 API (lib/ejb3-persistence.jar)。如果您正在使用 Maven,只需要向 POM 文件添加相應(yīng)的依賴項(xiàng)即可,如下所示:
- ...
- <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 類來建立會話工廠:
- sessionFactory = new AnnotationConfiguration().buildSessionFactory();
盡管通常使用 <mapping> 元素來聲明持久性類,您還是需要在 Hibernate 配置文件(通常是 hibernate.cfg.xml)中聲明持久性類:
- <!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 項(xiàng)目都使用了輕量級的應(yīng)用框架,例如 Spring。如果您正在使用 Spring 框架,可以使用 AnnotationSessionFactoryBean 類輕松建立一個(gè)基于注釋的Hibernate會話工廠,如下所示:
- <!-- 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>
【編輯推薦】