spring boot 实体类常用注解范例

定义User.java实体类


  
  
  1. @Data
  2. @Entity
  3. public class User {
  4. @Id
  5. @GeneratedValue
  6. private Long id;
  7. @Column(nullable = false)
  8. private String name;
  9. @Column(nullable = false, unique = true, updatable = false)
  10. @JsonProperty(value = "email")
  11. private String username;
  12. @Column(nullable = false)
  13. @JsonIgnore
  14. private String password;
  15. @Column(nullable = false)
  16. @JsonIgnore
  17. private String salt;
  18. @Column(nullable = true)
  19. private Date birthday;
  20. @Column(nullable = false)
  21. private String sex;
  22. @Column(nullable = true)
  23. @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  24. private Timestamp access;
  25. @Column(nullable = true)
  26. @JsonFormat(pattern="HH:mm:ss")
  27. private Time accessTime;
  28. @Column(nullable = false)
  29. private Integer state;
  30. @Column(nullable = false, insertable = false, updatable = false)
  31. @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  32. private Timestamp created;
  33. @Column(nullable = false, insertable = false, updatable = false)
  34. @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
  35. private Timestamp updated;
  36. }

  • @Data 是 lombok 的注解,自动生成Getter,Setter,toString,构造函数等

  • @Entity 注解这是个实体类

  • @Table 注解表相关,如别名等

  • @Id 注解主键,@GeneratedValue 表示自动生成

  • @DynamicUpdate,@DynamicInsert 注解可以动态的生成insert、update 语句,默认会生成全部的update

  • @Column 标识一些字段特性,字段别名,是否允许为空,是否唯一,是否进行插入和更新(比如由MySQL自动维护)

  • @Transient 标识该字段并非数据库字段映射

  • @JsonProperty 定义 Spring JSON 别名,@JsonIgnore 定义 JSON 时忽略该字段,@JsonFormat 定义 JSON 时进行格式化操作



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值