首页 > 代码库 > 手动配置Hibernate的方法

手动配置Hibernate的方法

前言:一直习惯用MyEclipse自动生成Hibernate,但是对手动配置一直不甚了解,都不好意思说自己是搞java的。所以赶紧复习了一下手动配置,并记录在此,以便常回来看看!

第一步:搭建环境

在Hibernate主页下载hibernate-distribution-3.3.2.GA-dist.zip(这个很难找,一定要耐心!),解压后把根目录的hibernate3.jar和required文件夹里的所有的包、数据库驱动JAR,复制到WEB-INFO的lib里。

然后在项目里build-path刚才复制过来的JAR。

第二步:构建映射

首先创建与数据库表字段对应的实体类(持久化类),必须实现java.io.Serializable接口

然后在所有实体类的同一个包下,创建映射文件,如下:

Hibernate配置文件XXX.cfg.xml示例:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.hibernate.Hebei" table="HEBEI" schema="ORCL">
    <!--name表示实体类全名,table表示对应表名-->
    
        <id name="postcode" type="java.lang.String">
            <column name="POSTCODE" length="10" />
            <!--id及其子元素column表示实体类的属性postcode对应表中的主键POSTCODE-->
            
            <generator class="native" />
            <!--用于指定主键的生成策略,有以下值可选:
            //1.native:由Hibernate根据数据库自行判断生成哪种策略。
            //2.increment:对类型为long、short、int的主键,以自增长的方式生成主键的值,主键将每次递增1。
 			//3.identity:对于SQL Server、DB2、MySQL等支持标识列的数据库,可使主键自增长,但需把主键设为标识列。
 			//4.sequence:对于Oracle、DB2等支持序列的数据库,可实现主键自增长,需要通过param传入序列名字。
 			//5.assigned:主键由应用程序负责生成,无需Hibernate参与。  -->
        </id>
        
        <property name="area" type="java.lang.String">
        <!-- 定义实体类中的属性和数据库表中的字段的对应关系 -->
            <column name="AREA" length="100" not-null="true">
                <comment>考区</comment>
            </column>
        </property>
    </class>
</hibernate-mapping>

第三步:配置运行环境

在src中创建Hibernate的配置文件XXX.cfg.xml,如下:

<?xml version=‘1.0‘ encoding=‘UTF-8‘?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
	<property name="dialect"><!-- 用于配置使用的数据库类型 -->
		org.hibernate.dialect.Oracle9Dialect
	</property>
	<property name="connection.url">
		jdbc:oracle:thin:@localhost:1521:orcl
	</property>
	<property name="connection.username">system</property>
	<property name="connection.password">orcl</property>
	<property name="connection.driver_class">
		oracle.jdbc.driver.OracleDriver
	</property>
	<property name="myeclipse.connection.profile">本机</property>
	<property name="show_sql">true</property><!-- 是否显式sql语句,如过true就会在控制台显式sql语句 -->
	<mapping resource="com/hibernate/Hebei.hbm.xml" /><!-- 声明映射文件的位置 -->

</session-factory>

</hibernate-configuration>

手动配置Hibernate的方法