User.java 1.2 KB

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