JPA) 영속성 컨텍스트
·
자바 탐구
영속성 콘텍스트 엔티티를 영구 저장하는 환경이라는 의미 애플리케이션과 데이터베이스사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면 매니저는 영속성 콘텍스트에 엔티티를 보관하고 관리한다. 엔티티의 생명주기 비영속(new/transit) : 영속성 콘텍스트와 전혀 관계가 없는 상태 Product product = new Product(); product.setId("product1"); product.setName("책"); 객체를 생성하였지만 저장은 되지 않음 영속(managed) : 영속성 콘텍스트에 저장된 상태 Product product = new Product(); product.setId("product1"); product.setN..
JPA) Entity의 연관 관계 - @ManyToMany -
·
자바 탐구
Entity의 연관 관계 - @ManyToMany - N 대 M 관계 N : M 관계를 맺어주는 역할을 한다. 상품 Entity와 고객 Entity가 N : M 관계라고 가정 단방향 관계 N : M 관계를 풀어내기 위해 중간 테이블(orders)을 생성하여 사용한다. Product Entity import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import java.util.ArrayList; import java.util.List; @Entity @Getter @NoArgsConstructor public class Product { @Id @GeneratedVal..
JPA) Entity의 연관 관계 - @OneToMany -
·
자바 탐구
Entity의 연관 관계 - @OneToMany - 1 대 N 관계 1 : N 관계를 맺어주는 역할을 한다. 상품 Entity와 고객 Entity가 1 : N 관계라고 가정 단방향 관계 고객 Entity가 N의 관계로 외래 키를 가지고 있지만 외래 키를 관리하는 주인은 product entity 관계가 N인 users 테이블에 추가한 후 상품 Entity를 통해 관리한다. Product Entity import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import java.util.ArrayList; import java.util.List; @Entity @Getter @NoArgsConstructor pu..
JPA) Entity의 연관 관계 - @ManyToOne -
·
자바 탐구
Entity의 연관 관계 - @ManyToOne - N 대 1 관계 @ManyToOne N 대 1 관계를 맺어주는 역할을 한다. 고객 Entitiy와 상품 Entity가 N : 1 관계라고 가정 단방향 관계 Product Entity가 N의 관계로 외래 키의 주인 Product Entity import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; @Entity @Getter @NoArgsConstructor public class Product { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name..
JPA) Entity의 연관 관계 - @OneToOne -
·
자바 탐구
Entity의 연관 관계 - @OneToOne - 1 대 1 관계 Entity로 데이터베이스를 생성하고자 할 때 Entitiy 클래스를 JPA가 데이터베이스의 테이블에 매핑을 해주는 개념이다. 따라서 인터페이스인 JpaRepository를 상속한 인터페이스를 만들어 주어야 한다. interface 간의 상속은 extends로 이루어진다. Repository public interface extends JpaRepository { } application.properties spring.datasource.url = spring.datasource.username = root spring.datasource.password = spring.datasource.driver-class-name=com.mysq..
오지랖 토끼
'엔티티' 태그의 글 목록