hibernate (二):主键生成策略

hibernate的主键生成器:

generator元素:表示了一个主键生成器,它用来为持久化类实例生成唯一的标识

在这里插入图片描述

主键生成器:
1、程序员自己控制

assigned
提示:如果hibernate设置了程序员自己控制数据库主键设置了自动增长也不会成功

<generator class="assigned"></generator>

在这里插入图片描述

2、数据库控制

identity(标识列/自动增长) : MySQL
sequence : oracle

注意:id必须是数字类型
在这里插入图片描述
修改对应的数据库连接信息:
在这里插入图片描述

3、实现跨数据库控制

native
在这里插入图片描述

4、hibernate控制

increment :数字类型
uuid/uuid.hex :字符串类型
在这里插入图片描述

5、自己创建

写一个id类 实现 IdentifierGenerator接口

如下:
在这里插入图片描述
代码:

package com.zking.two.id;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.hibernate.HibernateException;
import org.hibernate.engine.spi.SharedSessionContractImplementor;
import org.hibernate.id.IdentifierGenerator;

public class MyIdCreate implements IdentifierGenerator  {

	@Override
	public Serializable generate(SharedSessionContractImplementor session, Object object) throws HibernateException {
//		  公司名_模块名_时间戳
		return "zking_order_"+new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值