| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package com.izouma.nineth.domain;
- import com.alibaba.excel.annotation.ExcelIgnore;
- import com.fasterxml.jackson.annotation.JsonIgnore;
- import com.izouma.nineth.annotations.Searchable;
- import com.izouma.nineth.config.Constants;
- import com.izouma.nineth.security.Authority;
- import io.swagger.annotations.ApiModel;
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- import org.hibernate.annotations.BatchSize;
- import org.hibernate.annotations.Where;
- import javax.persistence.*;
- import javax.validation.constraints.Pattern;
- import javax.validation.constraints.Size;
- import java.util.HashSet;
- import java.util.Set;
- @Data
- @Entity
- @AllArgsConstructor
- @NoArgsConstructor
- @Where(clause = "enabled = 1")
- @ApiModel(value = "超级用户", description = "超级用户")
- public class SuperUser extends BaseEntity {
- @Pattern(regexp = Constants.Regex.USERNAME)
- @Size(min = 1, max = 50)
- @Column(nullable = false, unique = true)
- @Searchable
- private String username;
- @Searchable
- private String nickname;
- private String avatar;
- @JsonIgnore
- private String password;
- @Searchable
- private String phone;
- @Column(nullable = false)
- private Boolean enabled = true;
- @ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL})
- @JoinTable(
- name = "super_user_authority",
- joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},
- inverseJoinColumns = {@JoinColumn(name = "authority_name", referencedColumnName = "name")})
- @BatchSize(size = 20)
- @ExcelIgnore
- private Set<Authority> authorities = new HashSet<>();
- }
|