From 18d1e99b2368e72f8c6335622a802545e1ca2ba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dhji=28=EC=A7=80=EB=8C=80=ED=95=9C=29?= Date: Wed, 10 Jan 2024 16:44:25 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20code=20=EC=97=B0=EA=B4=80=EA=B4=80?= =?UTF-8?q?=EA=B3=84=20=EA=B5=AC=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../palnet/kac/data/com/model/ComCdBas.java | 47 ++++++++++++------- .../kac/data/com/model/ComCdGroupBas.java | 26 +++++----- .../kac/data/com/model/ComCdLangCtg.java | 32 ++++++++----- docker-compose.yml | 2 +- 4 files changed, 66 insertions(+), 41 deletions(-) diff --git a/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdBas.java b/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdBas.java index e54638f..f2e29af 100644 --- a/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdBas.java +++ b/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdBas.java @@ -8,6 +8,8 @@ import lombok.NoArgsConstructor; import java.io.Serializable; import java.time.Instant; +import java.time.LocalDateTime; +import java.util.List; @Data @@ -24,13 +26,13 @@ public class ComCdBas { @Builder @Embeddable public static class ComCdBasId implements Serializable { - // 코드ID - @Column(name = "CD_ID") - private String cdId; - // 그룹코드 - @Column(name = "GROUP_CD") +// @Column(name = "GROUP_CD", length = 20) private String groupCd; + + // 코드ID + @Column(name = "CD_ID", length = 30) + private String cdId; } // 코드ID, 그룹코드 @@ -38,35 +40,48 @@ public class ComCdBas { private ComCdBasId id; // 상위코드 - @Column(name = "UPPER_CD") + @Column(name = "UPPER_CD", length = 20) private String upperCd; // 정렬순서 - @Column(name = "SORT_ORDR") - private byte sortOrdr; + @Column(name = "SORT_ORDR", columnDefinition = "tinyint default 0", nullable = false) + private Integer sortOrdr; // 추가정보값 - @Column(name = "ADD_INFO_VALUE") + @Column(name = "ADD_INFO_VALUE", length = 100) private String addInfoValue; // 사용여부 - @Column(name = "USE_YN") + @Column(name = "USE_YN", columnDefinition = "char(1) default 'Y'", nullable = false) private String useYn; // 생성사용자ID - @Column(name = "CREATE_USER_ID") + @Column(name = "CREATE_USER_ID", length = 30, nullable = false, updatable = false) private String createUserId; // 생성일시 - @Column(name = "CREATE_DT", columnDefinition = "TIMESTAMP") - private Instant createDt; + @Column(name = "CREATE_DT", columnDefinition = "datetime", nullable = false, updatable = false) + private LocalDateTime createDt; // 수정사용자ID - @Column(name = "UPDTE_USER_ID") + @Column(name = "UPDTE_USER_ID", length = 30, nullable = false) private String updteUserId; // 수정일시 - @Column(name = "UPDTE_DT", columnDefinition = "TIMESTAMP") - private Instant updteDt; + @Column(name = "UPDTE_DT", columnDefinition = "datetime", nullable = false) + private LocalDateTime updteDt; + + @MapsId("groupCd") + @ManyToOne + @JoinColumns( + value = { + @JoinColumn(name = "GROUP_CD") + }, + foreignKey = @ForeignKey(name = "FK_COM_CD_BAS_TO_COM_CD_GROUP_BAS") + ) + private ComCdGroupBas comCdGroupBas; + + @OneToMany(mappedBy = "comCdBas", fetch = FetchType.LAZY, cascade = CascadeType.REMOVE) + private List comCdLangCtgList; } \ No newline at end of file diff --git a/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdGroupBas.java b/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdGroupBas.java index a0d37c9..fd91c67 100644 --- a/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdGroupBas.java +++ b/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdGroupBas.java @@ -6,7 +6,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.time.Instant; +import java.time.LocalDateTime; +import java.util.List; @Data @@ -19,36 +20,39 @@ public class ComCdGroupBas { // 그룹코드 @Id - @Column(name = "GROUP_CD") + @Column(name = "GROUP_CD", length = 20) private String groupCd; // 사이트코드 - @Column(name = "SITE_CD") + @Column(name = "SITE_CD", length = 20, nullable = false) private String siteCd; // 그룹코드명 - @Column(name = "GROUP_CD_NM") + @Column(name = "GROUP_CD_NM", length = 100, nullable = false) private String groupCdNm; // 비고 @Lob - @Column(name = "RM") + @Column(name = "RM", columnDefinition = "mediumtext") private String rm; // 생성사용자ID - @Column(name = "CREATE_USER_ID") + @Column(name = "CREATE_USER_ID", length = 30, nullable = false, updatable = false) private String createUserId; // 생성일시 - @Column(name = "CREATE_DT", columnDefinition = "TIMESTAMP") - private Instant createDt; + @Column(name = "CREATE_DT", columnDefinition = "datetime", nullable = false, updatable = false) + private LocalDateTime createDt; // 수정사용자ID - @Column(name = "UPDTE_USER_ID") + @Column(name = "UPDTE_USER_ID", length = 30, nullable = false) private String updteUserId; // 수정일시 - @Column(name = "UPDTE_DT", columnDefinition = "TIMESTAMP") - private Instant updteDt; + @Column(name = "UPDTE_DT", columnDefinition = "datetime", nullable = false) + private LocalDateTime updteDt; + + @OneToMany(mappedBy = "comCdGroupBas", fetch = FetchType.LAZY, cascade = CascadeType.REMOVE) + private List comCdBasList; } \ No newline at end of file diff --git a/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdLangCtg.java b/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdLangCtg.java index 639fc72..aa70b74 100644 --- a/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdLangCtg.java +++ b/app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdLangCtg.java @@ -23,16 +23,11 @@ public class ComCdLangCtg { @Builder @Embeddable public static class ComCdLangCtgId implements Serializable { - // 코드ID - @Column(name = "CD_ID") - private String cdId; - // 그룹코드 - @Column(name = "GROUP_CD") - private String groupCd; + private ComCdBas.ComCdBasId comCdBasId; // 언어구분코드 - @Column(name = "LANG_DIV_CD") + @Column(name = "LANG_DIV_CD", length = 5) private String langDivCd; } @@ -41,28 +36,39 @@ public class ComCdLangCtg { private ComCdLangCtgId id; // 코드명 - @Column(name = "CD_NM") + @Column(name = "CD_NM", length = 100, nullable = false) private String cdNm; // 비고 @Lob - @Column(name = "RM") + @Column(name = "RM", columnDefinition = "mediumtext") private String rm; // 생성사용자ID - @Column(name = "CREATE_USER_ID") + @Column(name = "CREATE_USER_ID", length = 30, nullable = false, updatable = false) private String createUserId; // 생성일시 - @Column(name = "CREATE_DT", columnDefinition = "TIMESTAMP") + @Column(name = "CREATE_DT", columnDefinition = "datetime", nullable = false, updatable = false) private Instant createDt; // 수정사용자ID - @Column(name = "UPDTE_USER_ID") + @Column(name = "UPDTE_USER_ID", length = 30, nullable = false) private String updteUserId; // 수정일시 - @Column(name = "UPDTE_DT", columnDefinition = "TIMESTAMP") + @Column(name = "UPDTE_DT", columnDefinition = "datetime", nullable = false) private Instant updteDt; + @MapsId("comCdBasId") + @ManyToOne + @JoinColumns( + value = { + @JoinColumn(name = "GROUP_CD", referencedColumnName = "GROUP_CD"), + @JoinColumn(name = "CD_ID", referencedColumnName = "CD_ID") + }, + foreignKey = @ForeignKey(name = "FK_COM_CD_LANG_CTG_COM_CD_BAS") + ) + private ComCdBas comCdBas; + } \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 4162694..546121d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,7 +6,7 @@ services: environment: - MYSQL_ROOT_HOST=% - MYSQL_ROOT_PASSWORD=palnet!234 - - MYSQL_DATABASE=PAV_KAC + - MYSQL_DATABASE=pav_kac - MYSQL_USER=kac - MYSQL_PASSWORD=palnet!234 ports: