在Activiti中使用UUID作为主键生成策略
2017-11-15 21:32
387 查看
1. 默认的主键生成策略
了解过Activiit表中数据的同学可能知道记录的主键ID是用自增的生成策略,这样的生成策略有两个优点:有顺序:所有引擎的表在插入新记录时全部使用同一个ID生成器
便于记忆:因为是自增的所以有一定的顺序,便于记忆;例如业务人员让管理员删除一条数据(ID为5位左右的长度),管理员只要看一眼就可以记住
当然也有缺点:
随着时间的推移或者数据量非常大自增的ID生成策略的“便于记忆”优势也就不存在了,因为ID的位数会逐步增加(举个例子,我们公司做的一个小系统,用户量在30人左右,ID的长度已经到了7位数)
并发量高时会可能导致主键冲突
在引擎初始化的时候会注册ID生成器,看过源码的同学还可能知道有一个类:org.activiti.engine.impl.db.DbIdGenerator,这个类实现了一个接口:org.activiti.engine.impl.cfg.IdGenerator:
?
2. 更改默认的主键生成器
UUID是全球唯一的主键生成器,也是除自增策略之外最常用的一种,很幸运:引擎内置了UUID生成器实现。要更改引擎默认的主键生成器很简单,只需要在配置引擎时覆盖一个属性即可,代码如下:
?
2.1 添加依赖
引擎提供的UUID生成器依赖fastxml的一个模块,需要在pom.xml(Maven工程)中添加如下依赖:?
3. 自定义ID生成器
Step 1:创建一个类实现接口org.activiti.engine.impl.cfg.IdGeneratorStep 2:参考本文第2部分 ^_^
相关文章推荐
- 在Activiti中使用UUID作为主键生成策略
- 在Activiti中使用UUID作为主键生成策略
- 在Activiti中使用UUID作为主键生成策略
- JPA使用Hibernate实现,使用UUID.主键的生成策略.
- Hibernate实现,使用UUID.主键的生成策略
- 【hibernate】主键生成策略使用UUID报出如下警告:org.hibernate.id.UUIDHexGenerator - HHH000409: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;
- JPA注解主键生成策略-UUID
- hibernate注解(annoation)使用id主键生成策略
- oracle 使用uuid生成主键
- JPA学习笔记(4)——使用Table策略来生成主键
- hibernate注解UUID主键生成策略
- 普元 EOS Platform 7.6 从表主键生成策略采用:自动生成uuid,实现主从表增删改查示例demo
- hibernate配置主键生成策略,mysql uuid
- [译文]JPA的实施模式:使用UUID作为主键
- JPA学习笔记(4)——使用Table策略来生成主键
- 为什么分布式数据库中不使用uuid作为主键?
- Hibernate主键生成策略的类型的使用说明
- 关于Hibernate的oracle主键id生成策略uuid、native和sequence
- JPA学习笔记(4)——使用Table策略来生成主键
- 学习笔记-----------------Hibernian基础配置(注解的使用和主键生成策略)