JPA @Id 和 @GeneratedValue 注解详解
来源:互联网 发布:杭州 大数据公司 编辑:程序博客网 时间:2024/05/20 16:14
@Id:
@Id 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。
@Id标注也可置于属性的getter方法之前。
@GeneratedValue:
@GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment。
在javax.persistence.GenerationType中定义了以下几种可供选择的策略:
–IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式;
–AUTO: JPA自动选择合适的策略,是默认选项;
–SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式
–TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。
推荐的两种写法:
属性之上:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
getter方法之上:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
但是不能某个注解在属性之上,某个注解在getter之上,将抛出异常,对其他注解也相同
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
上面的写法是错误的
阅读全文
0 0
- 4. JPA @Id 和 @GeneratedValue 注解详解
- JPA @Id 和 @GeneratedValue 注解详解
- JPA注解之“@GeneratedValue”详解
- JPA之@GeneratedValue注解
- 理解JPA注解@GeneratedValue
- JPA之@GeneratedValue注解
- JPA之@GeneratedValue注解
- JPA之@GeneratedValue注解
- JPA之@GeneratedValue注解
- JPA的Id注解
- Hibernate 和 JPA 注解方式自定义ID生成器
- @GeneratedValue详解
- jpa 注解详解
- JPA注解详解
- JPA注解详解一
- JPA注解详解二
- JPA注解详解三
- JPA & Hibernate 注解,详解
- 外部中断与定时器中断——T2定时器
- Linux修改主机名
- Angular1.x安装与配置
- Centos7 安装dubbo-admin2.8.4
- 如何判断一个对象是不是为空
- JPA @Id 和 @GeneratedValue 注解详解
- 代码覆盖率工具 Istanbul 入门教程
- CSS中flex布局 弹性盒模型
- 一维Otsu算法的原理与实现
- Intellij idea 下@autowired报错解决
- 12、JSON 学习记录
- Java并发之atomic包的原理及分析
- java tomcat中context配置
- C++ Primer Plus第五版 第四章 编程练习答案