您的位置:首页 > 其它

Hibernate 中映射文件的配置模板

2011-07-30 10:08 316 查看
<hibernate-mapping 属性="值">
<class name="类名" table="被映射的表名">
<!--主键-->
<id>name="主键对应持久类中的属性名" column="数据库中主键的列名">
<generator class="主键生成策略">
</id>

<!--属性列表-->
<property name="属性名" column="列名" type="数据类型"/>
…
…
</class>
</hibernate-mapping>


其中:

<hibernate-mapping>元素中的属性如下:

schema:指定映射数据库的schema名;

catalog:指定映射数据库的Catalog名;

default-cascade:设置Hibernate默认的级联风格,默认为none;

default-access:设置默认属性访问策略,默认值为property;

default-lazy:设置默认延时加载策略,默认值为true;

auto-import:是否允许使用非全限定的类名,默认为true;

package:指定一个包,对于映射文件中非全限定的类名,默认在该包下;

<class>元素中的属性如下:

name:持久化类的类名;

table:持久化映射的表名;

discriminator-value:区分不同子类的值;

mutable:指定持久化类的实例是否可变,默认值为true;

proxy:延迟装载时的代理,可以是该类自己的名字;

<class>元素中<generator>元素的class属性指定了如下策略的主键生成器:

increment:自动获取数据表中所有主键中的最大值,在最大值基础上+1,为最新记录的主键;

indentity:自动增长。MS SQL Server、MySQL、DB2等数据库中可以设置表的某个字段(列)的数值自动增长。此种方式生成主键的数据类型可以是long、short、int及其对应的封装类的类型;

sequence:序列。Oracle、DB2等数据库可以创建一个序列,然后从序列中获取当前序号作为主键值;

hilo:“高/低位”搞笑算法产生主键值。此种方法生成主键的数据类型可以是long、short、int及其对应的封装类的类型;

seqhilo:与hilo类似,但使用指定的sequence获取高位值;

uuid:采用128位UUID算法生成一个字符串类型的主键;

guid:采用GUID字符串产生的主键值;

native:由Hibernate根据所使用的数据库支持能力从identity、sequence或者hilo中选择一种,例如Oracle中使用sequence,MySQL中使用identity;

assigned:指派值;

foerign:通过关联持久化对象为主键赋值;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: