package com.mydreamjob.skill.domain; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.type.SqlTypes; import java.math.BigDecimal; import java.time.LocalDateTime; @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor @Entity @Table(name = "occupation_skills") public class OccupationSkill { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "occupation_id", nullable = false) private Long occupationId; @Column(name = "skill_id", nullable = false) private Long skillId; @Column(name = "category_id", nullable = false) private Long categoryId; @Column(name = "importance", precision = 4, scale = 2) private BigDecimal importance; @Column(name = "importance_source_code", length = 20) private String importanceSourceCode; @Column(name = "importance_element_id", length = 30) private String importanceElementId; @JdbcTypeCode(SqlTypes.TINYINT) @Column(name = "importance_is_proxy", nullable = false) private Boolean importanceIsProxy; @Column(name = "relationship_type", nullable = false, length = 20) private String relationshipType; @Column(name = "source_version_id", nullable = false) private Long sourceVersionId; @Column(name = "created_at", nullable = false, updatable = false) private LocalDateTime createdAt; @Column(name = "updated_at", nullable = false) private LocalDateTime updatedAt; }