본문 바로가기

Spring53

1대N 연관관계 @OneToMany(fetch = FetchType.EAGER): 1대N 연관관계를 즉시 로딩할 수 있도록 선언한다. @JoinColumn(name = "user_id", insertable = false, updatable = false): 선언된 테이블에서는 선언한 컬럼의 해당하는 테이블에 데이터가 수정되거나 생성되지 않도록 선언한다. @Column(name = "user_id"): 컬럼명을 연관관계에 있는 테이블에 컬럼과 맞춰준다. 예제 코드 User 클래스 package com.example.bookmanager.domain; import com.example.bookmanager.domain.listener.UserEntityListener; import lombok.*; import org.s.. 2021. 8. 6.
1 대 1 관계 설정하는 방법 Book 코드 수정 @GeneratedValue(strategy = GenerationType.IDENTITY): 테이블마다 각각의 ID값이 증가하도록 설정 @OneToOne: 1대1 관계를 형성할 때 사용하는 어노테이션 optional = false: 절대 null값을 허용하지 않겠다는 의미 (inner join), 기본값으로 설정하면 left outer 조인이 된다. mappedBy = "book": 해당 객체가 테이블로 생성될때 선언한 컬럼은 키값을 생성하지 않도록 설정 @ToString.Exclude: 어노테이션을 이용하여 해당 컬럼이 ToString에서 제외될 수 있도록 설정, 선언하지 않으면 스택오버플로우 에러가 발생하게 된다. 따라서 단방향 관계를 맺거나 ToString에서 해당 컬럼을 제외.. 2021. 7. 24.
연관 관계 설정 -1 ERD 확인 Book 클래스 수정 package com.example.bookmanager.domain; import com.example.bookmanager.domain.listener.Auditable; import com.example.bookmanager.domain.listener.MyEntityListener; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; import javax.persistence.*; import java.time.LocalDateTime; @Entity @NoArgsConstructor @Data // 상속받은 BaseE.. 2021. 7. 24.
연관관계, ERD 연관관계(R_DB) 예를 들어 기존 user 테이블에 저장된 데이터 중 이름이 변경되어 있다고 한다면 다른 테이블에서 user 테이블에 이름을 조회 한다고 한다면 이름을 직접적으로 조회하지 않고 user 테이블에 pk인 id를 조회함으로써 이름이 변경되었다고 하더라도 변경된 값을 이상없이 가져올 수 있다. ERD [DB] ERD(Entity-Relationship Diagram) : 네이버 블로그 (naver.com) [DB] ERD(Entity-Relationship Diagram) ERD(Entity Relationship Diagram)란? ERD는 말로서 되어있는 요구분석사항을 그림으로 그려내어 ... blog.naver.com 툴: drow.io 배워봅시다 Draw.io (tistory.com).. 2021. 7. 24.
Entity Listener 사용 예제 2 history 기능을 사용할 때 유용하다 history를 담을 객체를 새로 생성 (원본과 동일하게 선언) package com.example.bookmanager.domain; import com.example.bookmanager.domain.listener.Auditable; import lombok.*; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.*; impo.. 2021. 7. 18.
Entity Listener Listener: 어떠한 동작하는 것을 기다리다가 동작하게 되면 이벤트를 동작 해주는 것 Entity Listener: Entity 객체가 어떠한 동작을 하는지 기다리다가 이벤트를 동작 시키는 것 참고 사이트: https://erim1005.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B3%80%EA%B2%BD-%EC%95%8C%EB%A6%BC-EntityListeners 데이터 변경 알림 - @EntityListeners spring 의 data-jpa 사용시 데이터 변경시 알림을 받는 방법이 있다. EntityListener 클래스를 만들고 public class DataDtoListener { @PostLoad public void postLoad(Dat.. 2021. 7. 18.