50 lines
1.3 KiB
Java
50 lines
1.3 KiB
Java
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;
|
|
}
|
|
|