Browse Source

feat: code 연관관계 구성

pull/1/head
지대한 8 months ago
parent
commit
18d1e99b23
  1. 47
      app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdBas.java
  2. 26
      app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdGroupBas.java
  3. 32
      app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComCdLangCtg.java
  4. 2
      docker-compose.yml

47
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<ComCdLangCtg> comCdLangCtgList;
}

26
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<ComCdBas> comCdBasList;
}

32
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;
}

2
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:

Loading…
Cancel
Save