sp0*_*00m 5 java mysql hibernate auto-increment
MySQL的
CREATE TABLE `role` (
`id_role` INT(11) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id_role`)
) AUTO_INCREMENT=1;
Run Code Online (Sandbox Code Playgroud)
过冬
@Entity
public class Role {
private Integer idRole;
@Column(name = "id_role", precision = 10)
@GeneratedValue
@Id
public Integer getIdRole() {
return idRole;
}
public void setIdRole(Integer idRole) {
this.idRole = idRole;
}
}
Run Code Online (Sandbox Code Playgroud)
鉴于上述背景,谁id_role
在创建新列时负责列的自动增量role
?换句话说,Hibernate在运行create
SQL语句之前是否设置了主键值,还是将其设置为null
并让MySQL在获取所选主键时自动递增字段?
要使用MySQL AUTO_INCREMENT
列,您应该使用IDENTITY
策略:
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
Run Code Online (Sandbox Code Playgroud)
使用AUTO
MySQL 时会得到以下内容:
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
Run Code Online (Sandbox Code Playgroud)
这实际上相当于
@Id @GeneratedValue
private Long id;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3225 次 |
最近记录: |