package com.goi.erp.employee; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; import java.time.LocalDateTime; import java.util.UUID; import com.goi.erp.role.RoleInfo; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Entity @Table(name = "employee_role") @Data @NoArgsConstructor @AllArgsConstructor @Builder public class EmployeeRole { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "emr_id") private Integer emrId; // 내부 PK @Column(name = "emr_uuid", unique = true, nullable = false) private UUID emrUuid; // 외부용 UUID @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "emr_emp_id", nullable = false) // DB 컬럼명 지정 private Employee employee; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "emr_role_id", nullable = false) // DB 컬럼명 지정 private RoleInfo roleInfo; @Column(name = "emr_revoked_at") private LocalDateTime emrRevokedAt; }