User.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.remy.user.entity;
  2. import com.remy.common.entity.BaseEntity;
  3. import com.remy.common.enumeration.GenderEnum;
  4. import lombok.Builder;
  5. import lombok.Data;
  6. import lombok.NoArgsConstructor;
  7. import lombok.Singular;
  8. import lombok.experimental.SuperBuilder;
  9. import org.hibernate.annotations.ColumnTransformer;
  10. import javax.persistence.*;
  11. import java.time.LocalDate;
  12. import java.util.List;
  13. import java.util.Map;
  14. @Entity
  15. @SuperBuilder
  16. @NoArgsConstructor
  17. @Data
  18. @Table(name = "t_user")
  19. public class User extends BaseEntity {
  20. @Column(name = "username", unique = true)
  21. private String username;
  22. @Column(name = "password")
  23. @ColumnTransformer(
  24. read = "AES_DECRYPT(UNHEX(password), 'my_pass')",
  25. write = "HEX(AES_ENCRYPT(?, 'my_pass'))"
  26. )
  27. private String password;
  28. @Column(name = "nickname")
  29. private String nickname;
  30. @Column(name = "img")
  31. private String img;
  32. @Column(name = "gender")
  33. @Enumerated(EnumType.STRING)
  34. private GenderEnum gender;
  35. @Column(name = "age")
  36. private Integer age;
  37. @Column(name = "birthday")
  38. private LocalDate birthday;
  39. @Column(name = "level")
  40. @Builder.Default
  41. private Integer level = 1;
  42. @ElementCollection
  43. @Column(name = "addresses")
  44. @Singular
  45. private List<String> addresses;
  46. }