<?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:表示持久化类属性对应的数据库表字段的名称
hibernate:持久化类映射文件
时间: 2024-10-08 23:51:46