JPA常用注解说明
@Id,@GeneratedValue
这两个是一起使用的。 @Id 是主键标识, @GeneratedValue 用于指定规则。
使用样例:
import javax.persistence.* |
| 规则 | 说明 |
|---|---|
| TABLE | 使用一个特定的数据库表格来保存主键。 |
| SEQUENCE | 根据底层数据库的序列来生成主键,条件是数据库支持序列。 |
| IDENTITY | 主键由数据库自动生成(主要是自动增长型) |
| AUTO | 主键由程序控制,默认的配置。 |
@Table
来改变class名与数据库中表名的映射规则,catalog 数据库,
这里不需要设置 catalog,因为 datasource 里面已经有了,这里设置容易出问题
@Table(name = “users”, catalog=”testDb”)
@Column
定义了将成员属性映射到关系表中的哪一列和该列的结构信息,属性如下
- name:映射的列名。如:映射tbl_user表的name列,可以在name属性的上面或getName方法上面加入;
- unique:是否唯一;
- nullable:是否允许为空;
- length:对于字符型列,length属性指定列的最大字符长度;
- insertable:是否允许插入;
- updatetable:是否允许更新;
- columnDefinition:定义建表时创建此列的DDL;
- secondaryTable:从表名。如果此列不建在主表上(默认是主表),该属性定义该列所在从表的名字。
@Column(name = "自定义字段名",length = "自定义长度",nullable = "是否可以空",unique = "是否唯一",columnDefinition = "自定义该字段的类型和长度") |
@Entity
标识这个实体类是一个JPA实体,并且使用默认的orm规则
class名即数据库表中表名,class字段名即表中的字段名
@get: NotBlank
该字段不能为空