首页 > 代码库 > hibernate:持久化类映射文件

hibernate:持久化类映射文件

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping     package="com.myschool.entity">     <class name="Admin" table="Admin" lazy="true">        <id name="loginId" column="loginId">            <generator class="assigned"></generator><!--assigned 外部程序指定  -->        </id>        <property name="loginPwd" type="string" column="loginPwd"/>    </class>    </hibernate-mapping>

其中各元素的含义如下:

class:定义一个持久化类的映射信息。常用属性如下:

  name表示持久化类的全限定名

  table表示持久化类对应的数据库表名

  schema表示数据库实例中的用户

id:表示持久化类的OID和表的主键的映射。常用属性如下:

  name:表示持久化类属性的名称,和属性的访问器匹配

  type:表示持久化类属性的类型

  column:表示持久化类属性对应的数据库表字段的名称

generator:id元素的子元素,用于指定主键的生成策略。常用属性及子元素如下:

  class:用来指定具体主键生成策略

  param用来传递参数

常用的主键生成策略如下:

  increment:对应类型为long、short或int的主键,以自动增长的方式生成主键的值。主键按数值顺序递增,增量为1

  identity:对如SQLServer、DB2、MySQL等支持标识列的数据库,可使用该主键生成策略生成自动增长主键,但要在数据库中将该书剑设置为标识列

  sequence:对oracle、DB2等支持序列的数据库,可使用该主键生成策略生成自动增长主键,通过子元素param传入数据库中序列的名称

  native:由hibernate根据底层数据库自行判断采用何种主键生成策略,既由使用的数据库生成主键的值

  assigned:主键由应用程序复杂生成,无须hibernate的参与

property:定义持久化类中属性和数据库表的字段的对应关系。常用属性如下:

  name:表示持久化类属性的名称,和属性访问器相匹配

  type:表示持久化类属性的类型

  column:表示持久化类属性对应的数据库表字段的名称