본문 바로가기
반응형

전체 글82

FK가 PK가 아닌 다른 컬럼과 연관관계가 있을 때 연관 관계 매핑 fetch join에서 FK가 PK가 아닌 다른 컬럼과 연관관계가 있을 때, referencedColumnName 사용. (default는 연관테이블의 @Id를 보고 쿼리생성) @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "REGIST_ID", referencedColumnName = "SSO_KEY") private User user; --> Exception 발생 java.lang.ClassCastException: com.humuson.tasbatch.domain.postman.TasUser cannot be cast to java.io.Serializable -> 해결 : PK를 가진 클래스를 implements Serializa.. 2021. 5. 31.
복합키 @EmbededId @IdClass 장점 - 객체지향적이다. (예제의 shopNumber 컬럼체크) - @MapsId를 이용한 객체생성 편리 - 비즈니스적으로 의미있는 PK 값이라면 명시적으로 필드를 노출할 수 있다. - 식별관계 매핑을 여러 테이블에서 사용할때, 객체 연관관계를 단순하게 유지 가능 단점 - 복합키구조가 2개이상 테이블에 식별관계로 매핑이 될때 복잡도가 증가한다. - 컬럼에 대한 필드선언이 중복이 발생한다. - @MapsId 활용이 불가능하여 객체 생성할때 주의를 요함 단순한 하나의 복합키만 존재한다고 하면 @EmbededId 복합키를 통한 식별관계 매핑이 여기저기 존재한다면 @IdClass 이는 중복을 조금더 허용하더라도 Legacy Table 의 설계 의도를 Entity 에 녹여서 명.. 2021. 5. 26.
전체 컬럼 매핑은 필수? DB default값 레거시 테이블 Entity로 매핑할 시, 필요한 컬럼만 class로 만들어줘도 JPA기능을 사용할 수 있다. (부족한 컬럼이 없는지 확신필요) 복합키 아이디를 모두 매핑하지 않거나, 다른 컬럼들을 전부 매핑하지 않아도 사용은 가능 @DynamicInsert : insert 시 null 인 필드 제외 (DB의 default 사용가능) -> DB의 default는 @ColumnDefault으로 DDL 생성시 설정 가능 @DynamicUpdate : update 시 null 인 필드 제외 2021. 5. 26.
슬랙 웹훅(Incoming WebHooks) 연동 Apps가 보이지 않는다면 More을 클릭하여 Apps를 찾는다. 이후에 Incoming WebHooks 검색하여 Add Add to Slack 클릭 -> 채널을 선택한 후, AddIncoming WEbHooks integration 클릭 이후 페이지에서 URL과 payload 등을 확인하여 API 호출 -> 슬랙에 메시지 이미지, 추가 라벨 등도 커스텀 설정할 수 있다. client = WebClient.builder().baseUrl(SLACK_WEBHOOK_URL) .defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE) .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_.. 2021. 5. 25.
728x90
반응형