Hibernate 中映射文件的配置模板

<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:通过关联持久化对象为主键赋值;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值