HTML/JS转换工具
Unicode编码转换
当前位置:首页 > 数据库 > 综合技术 > 

生成策略中IDENTITY跟AUTO的详细说明

来源:IT技术网编辑:雨天发布于:2018-06-25人围观

首先要区别主键生成策略中IDENTITY跟AUTO

这两个是JPA的其中两种生成器策略
JPA提供四种主键生成器策略
GenerationType.IDENTITY
多数数据库支持IDENTITY列,数据库会在新行插入时自动给ID赋值,这也叫做ID自增长列
GenerationType.Auto
把主键生成策略交给JPA厂商(Persistence Provider),由它根据具体的数据库选择合适的策略,可以是Table/Sequence/Identity中的一种。假如数据库是Oracle,则选择Sequence
GenerationType.TABLE
有时候为了不依赖于数据库的具体实现,在不同数据库之间更好的移植,可以在数据库中新建序列表来生成主键,序列表一般包含两个字段:第一个字段引用不 同的关系表,第二个字段是该关系表的最大序号。这样,只需要一张序列就可以用于多张表的主键生成。
GenerationType.SEQUENCE
Oracle不支持ID子增长列而是使用序列的机制生成主键ID

auto是mysql下的,而identity是serve_sql

IDENTITY两种策略由于针对的是特殊的一些数据库,所以如果在需求前期,未确定系统要支持的数据库类型时,最好不要使用。
AUTO自动生成策略虽然能够自动生成主键,但主键的生成规则是JPA的实现者来确定的,一旦使用了这种策略,用户没有办法控制,比如说初识值是多少,每次累加值是多少,这些只能靠JPA默认的实现来生成。对于比较简单的主键,对主键生成策略要求少时,采用的这种方式比较好
织梦二维码生成器

与相关的文章
有时间的话来看看IT界的突发事件
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片