spring boot 实体类常用注解范例
定义User.java实体类
@Data
@Entity
public class User {
@Id
@GeneratedValue
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = false, unique = true, updatable = false)
@JsonProperty(value = "email")
private String username;
@Column(nullable = false)
@JsonIgnore
private String password;
@Column(nullable = false)
@JsonIgnore
private String salt;
@Column(nullable = true)
private Date birthday;
@Column(nullable = false)
private String sex;
@Column(nullable = true)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Timestamp access;
@Column(nullable = true)
@JsonFormat(pattern="HH:mm:ss")
private Time accessTime;
@Column(nullable = false)
private Integer state;
@Column(nullable = false, insertable = false, updatable = false)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Timestamp created;
@Column(nullable = false, insertable = false, updatable = false)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Timestamp updated;
}
-
@Data 是 lombok 的注解,自动生成Getter,Setter,toString,构造函数等 @Entity 注解这是个实体类 @Table 注解表相关,如别名等 @Id 注解主键,@GeneratedValue 表示自动生成 @DynamicUpdate,@DynamicInsert 注解可以动态的生成insert、update 语句,默认会生成全部的update @Column 标识一些字段特性,字段别名,是否允许为空,是否唯一,是否进行插入和更新(比如由MySQL自动维护) @Transient 标识该字段并非数据库字段映射 @JsonProperty 定义 Spring JSON 别名,@JsonIgnore 定义 JSON 时忽略该字段,@JsonFormat 定义 JSON 时进行格式化操作
上一篇:
IDEA上Java项目控制台中文乱码
