본문 바로가기

Spring/JPA20

영속성 구성을 위한 mysql 설정 MySql 설치 MySQL Server 설치 (For Windows, Community) : 네이버 블로그 (naver.com) MySQL Server 설치 (For Windows, Community) 이 설명서는 Windows 운영체제에서 동작하는 MySQL Server Community 8.0.11 버전을 설치하는 방법... blog.naver.com MySql 실행 시작메뉴에서 commend line client를 실행한 다음에 비밀번호를 입력하면 실행된다. 인테리제이에서 DB 설정 + 버튼을 클릭하여 MySql을 추가해준다. 처음 사용하는 것이라면 드라이버 설치 팝업이 나올텐데 클릭하여 설치를 진행한다. 그 후 아래와 같이 기본 설정을 입력하고 연결 테스트를 진행한다. 고급 탭에서 아래와 같이 추.. 2021. 9. 12.
N대N 연관관계 설정 2 (중간테이블을 만들어서 사용하는 방법) 이전에 작성한 내용을 중간테이블을 만들어서 사용하는 방법 N대1로 변경하여 작성하였다. BookAndAuthor 클래스 작성 package com.example.bookmanager.domain; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; import javax.persistence.*; @Entity @NoArgsConstructor @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class BookAndAuthor extends BaseEntity{ @Id @.. 2021. 8. 29.
N 대 N 연관관계 설정 현업에서는 거의 사용되지 않는다. 예제 Author 클래스 생성 package com.example.bookmanager.domain; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; import javax.persistence.*; import java.util.ArrayList; import java.util.Collections; import java.util.List; @Entity @NoArgsConstructor @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) publi.. 2021. 8. 29.
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.