package com.gkhy.labRiskManage.domain.account.entity; import com.gkhy.labRiskManage.domain.attachment.entity.AttachmentInfo; import lombok.Data; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; import javax.persistence.*; import java.time.LocalDateTime; import java.util.List; @Entity //@JsonIgnoreProperties(value = { "hibernateLazyInitializer"}) @Table(name = "sys_user") //@Proxy(lazy = false) @Data public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; //用户账号状态 @Column private Byte status; //部门ID private Long depId; //创建时间 @Column private LocalDateTime gmtCreate; //修改时间 @Column private LocalDateTime gmtModified; @Column private String name; @Column private String salt; @Column private String hash; //真实姓名 @Column private String realName; //手机号 @Column private String phone; //证件类型 @Column private Byte idType; //身份证号 @Column private String idSerial; /** * 身份(0专家,1非专家) */ private Byte identityStatus; //资质证书id private Long qualificationAttId; @OneToMany(fetch = FetchType.EAGER,cascade = {CascadeType.REFRESH}) @Fetch(FetchMode.SUBSELECT) @JoinColumn(name = "userId",referencedColumnName = "id",insertable =false ,updatable = false) private List sysUserRoleBinds; @OneToMany(fetch = FetchType.EAGER,cascade = {CascadeType.REFRESH}) @Fetch(FetchMode.SUBSELECT) @JoinColumn(name = "userId",referencedColumnName = "id",insertable =false ,updatable = false) private List sysUserIdentityBinds; @ManyToOne(fetch = FetchType.EAGER,cascade = {CascadeType.REFRESH}) @JoinColumn(name = "depId",referencedColumnName = "id",insertable =false ,updatable = false) private SysDepartment sysDepartment; @OneToOne(fetch = FetchType.EAGER,cascade = {CascadeType.REFRESH}) @JoinColumn(name = "qualificationAttId",referencedColumnName = "id",insertable =false ,updatable = false) private AttachmentInfo qualificationAttachment; }