Hibernate annotation 怎么设置主键自动增长?
2014-01-04 12:54
399 查看
需要在主键上增加一个@Id标识
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
GenerationType 类型的枚举值,它的内容将指定OpenJPA容器自动生成实体标识的方式,共有:
GeneratorType.AUTO
GenerationType.IDENTITY
GenerationType.SEQUENCE
GenerationType.TABLE
四种方式 。
@GeneratedValue(strategy = GenerationType.IDENTITY)
一般可以根据你采取的底层数据库来选择,比如是用oracle,id用sequence的话,可以采取sequence方式,如果是用mysql,一般就用auto模式
// 默认相当于native ID生成策略,JPA 1.0 中只有4个可选值
// 如果只写@Id ,主键字段不会自动产生,需要我们手动输入
// @GeneratedValue 默认为策略产生ID
// 如果我要让ID为IDENTITY 则需要手动给他指定值--@GeneratedValue(strategy=GenerationType.IDENTITY)
这样选择了主键生成策略,在给实体赋值时就不用设置ID值了。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getId() {
return id;
}
GenerationType 类型的枚举值,它的内容将指定OpenJPA容器自动生成实体标识的方式,共有:
GeneratorType.AUTO
GenerationType.IDENTITY
GenerationType.SEQUENCE
GenerationType.TABLE
四种方式 。
@GeneratedValue(strategy = GenerationType.IDENTITY)
一般可以根据你采取的底层数据库来选择,比如是用oracle,id用sequence的话,可以采取sequence方式,如果是用mysql,一般就用auto模式
// 默认相当于native ID生成策略,JPA 1.0 中只有4个可选值
// 如果只写@Id ,主键字段不会自动产生,需要我们手动输入
// @GeneratedValue 默认为策略产生ID
// 如果我要让ID为IDENTITY 则需要手动给他指定值--@GeneratedValue(strategy=GenerationType.IDENTITY)
这样选择了主键生成策略,在给实体赋值时就不用设置ID值了。
相关文章推荐
- Navicat 设置主键自增 自动增长 Navicat中怎么设置主键自增长?
- Mysql,SqlServer,Oracle主键自动增长的设置
- 设置数据库主键自动增长时出现提示:alter table cause auto_increment resequencing,resulting in duplicate entry '
- PowerDesigner设置MYSQL主键自动增长的方法
- PowerDesigner设置MYSQL主键自动增长的方法
- SQLite设置主键自动增长及插入语法
- Mysql,SqlServer,Oracle主键自动增长的设置
- Oracle 主键自动增长设置
- Mysql,SqlServer,Oracle主键自动增长的设置
- 设置主键自动增长引起刷新页面重复添加数据
- oracle设置主键自动增长
- SQLite设置主键自动增长及插入语法
- PowerDesigner设置MYSQL主键自动增长的方法
- SQLServer如何手动设置id值(主键)的自动增长
- Mysql,SqlServer,Oracle主键自动增长的设置
- Mysql,SqlServer,Oracle主键自动增长的设置
- SQLite设置主键自动增长及插入语法
- Mysql,SqlServer,Oracle主键自动增长的设置
- Mysql,SqlServer,Oracle,sqlite 主键自动增长的设置
- sql server 忘记设置主键 自动增长