以TB_USER为例,对应的数据模型如下。
其中要明白uuid的概念
import org.hibernate.annotations.*;
import javax.persistence.CascadeType;
import javax.persistence.*;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.security.Principal;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.Set;
/**
* 用户的Model,对应数据库
*
*/
@Entity
@Table(name = "TB_USER")
public class User implements Principal {
// 这是一个主键
@Id
@PrimaryKeyJoinColumn
// 主键生成存储的类型为UUID
@GeneratedValue(generator = "uuid")
// 把uuid的生成器定义为uuid2,uuid2是常规的UUID toString
@GenericGenerator(name = "uuid", strategy = "uuid2")
// 不允许更改,不允许为null
@Column(updatable = false, nullable = false)
private String id;
// 用户名必须唯一
@Column(nullable = false, length = 128, unique = true)
private String name;
// 电话必须唯一
@Column(nullable = false, length = 62, unique = true)
private String phone;
@Column(nullable = false)