下面展示的是我使用到的注解(可以满足基本的开发情况),其它注解等用到的时候再补充

@Entity

标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表

@Table

使用属性name设置实体类在数据库所对应的表名

@Id

标识类里所在变量为主键

@GeneratedValue

设置主键生成策略,此方式依赖于具体的数据库,strategy=GenerationType.IDENTITY时主键策略为自增

@Column

表示属性所对应字段名进行个性化设置,name属性的值为在数据库的字段名称(使用这个属性时需要配置application.yml,不然无法生效,代码如下所示),length属性的值为字段的长度

@Transient

表示属性并非数据库表字段的映射,ORM框架将忽略该属性

实体类代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package com.ledao.entity;

import lombok.Data;

import javax.persistence.*;

/**
* 用户实体类
*
* @author LeDao
* @company
* @create 2022-01-21 16:26
*/
@Data
@Entity
@Table(name = "t_user")
public class User {

/**
* 编号
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
/**
* 用户名
*/
@Column(name = "userName", length = 100)
private String userName;
/**
* 昵称
*/
@Column(name = "nickName", length = 100)
private String nickName;
/**
* 密码
*/
@Column(length = 100)
private String password;
/**
* 用户类型,1代表管理员,2代表普通用户
*/
private Integer type;
/**
* 用户状态,1代表正常,2代表被封禁
*/
private Integer state;
/**
* 是否可借书
*/
@Column(name = "isBorrow")
private Integer isBorrow;
}