Snowflake与hibernate集成

  • 背景

    由于要支持多数据中心,每个数据中心中数据主键不能与其他数据中心的数据有重复的主键;

  • 使用须知

   1.数据库主键相关数据类型必须是18位以上的数字

   2.代码中的主键相关数据类型必须是18字节以上数字

   3.所有接口提供开发需要将涉及主外键字段转换成字符串返回(解决javascript数据类型精度不足问题)

  • 使用步骤

    配置方案:

        1.环境变量配置SNOWFLAKE_DATA_CENTER_ID Snowflake数据中心id属性 ,值仅能为0、1、2、3(不配置的话默认为0)

        2.在model属性修改成如下配置

@Id

@GeneratedValue(generator = "idGenerator")

@GenericGenerator(name = "idGenerator", strategy = "com.jinnjo.base.twitter.hibernate.GenerateId")

@Column(name = "id", nullable = false)

@JsonFormat(shape = JsonFormat.Shape.STRING)

@ApiModelProperty(value = "主键", name = "id")

private PK id;   

        说明:红色字体为生产主键、蓝色字体将字符串进行返回时候渲染成字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值