Hibernate xml映射文件配置主键的生成策略

Hibernate Oracle xml文件的配置

//手动赋值
<class name="org.aptech.hdax.pojo.Dept" table="DEPT" schema="SCOTT">
  <id name="deptno" column="DEPTNO">
  		<!-- generator生成器,class="assigned"代表手动赋值  -->
  		<generator class="assigned"></generator>
  </id>
  <property name="dname" column="DNAME"/>
</class>

//自动增长
<class name="org.aptech.hdax.pojo.Dept" table="DEPT" schema="SCOTT">
  <id name="deptno" column="DEPTNO">
  		<!-- generator生成器,class="native"自动增长  -->
  		<generator class="native"></generator>
  </id>
  <property name="dname" column="DNAME"/>
</class>

//自动增长
<class name="org.aptech.hdax.pojo.Dept" table="DEPT" schema="SCOTT">
  <id name="deptno" column="DEPTNO">
  		<!-- generator生成器,class="sequence"自动增长  -->
  		<generator class="native">
  			<!-- seq_dept数据库序列名称 -->
          <param name="sequence">seq_dept</param>
      </generator>
  </id>
  <property name="dname" column="DNAME"/>
</class>
  • increment:代理主键,适合于所有数据库,由hibernate维护主键自增,和底层数据库无关,但是不适合于2个或以上hibernate进程。
  • identity:代理主键,适合于Mysql或sql server等支持自增的dbms,主键值不由hibernate维护。
  • sequence:代理主键,适合于oracle等支持序列的dbms,主键值不由hibernate维护,由序列产生。
  • native:代理主键,根据底层数据库的具体特性选择适合的主键生成策略,如果是mysql或sqlserver,选择identity,如果是oracle,选择sequence。
  • hilo:代理主键,hibernate把特定表的字段作为hign值,生成主键值
  • uuid.hex:代理主键,hibernate采用uuid 128位算法生成基于字符串的主键值
  • assign:适合于应用程序维护的自然主键。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值