赞
踩
首先看一下大部分教程,和 Spring JPA 入门文档上的写法:
代码示例
@Data
@Entity
public class Article {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
private String title;
}
在 MySQL 中使用 show create table 看一下自动生成的表结构:
CREATE TABLE `article` (
`id` bigint NOT NULL,
`title` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
自增 ID 是如何实现的
看了这个表结构,立马会产生疑问,自增 ID 设置哪里去了?
如果没有 AUTO_INCREMENT 设置,Spring JPA 是如何实现自增 ID 的。
在 MySQL 中使用 show tables 命令,会发现多了一个奇怪的表 hibernate_sequence。
看一下表结构:
CREATE TABLE `hibernate_sequence` (
`next_val` bigint DEFAULT NULL
) ENGINE=InnoDB
查了一下文档,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。