
1.1 SQL을 직접 다룰 때 발생하는 문제점 > 1.2 패러다임의 불일치 > 1.3 JPA란 무엇인가? > 1.4 정리

프로젝트 환경 JPA 프로그래밍 환경 Intellij

엔티티 매니저 팩토리 : 생성하는 비용이 크기 때문에 애플리케이션 전체에 하나만 생성한다. 여러 스레드가 접근해도 안전하다.엔티티 매니저 : 생성비용은 크지 않다. 단, 스레드 세이프 하지 않다.EntityManager 는 데이터베이스 연결이 꼭 필요한 시점까지 커넥션
1. @Entity @Entity 는 JPA를 사용해서 테이블과 매핑할 클래스를 지정하는 것이다. name 속성 JPA에서 사용할 엔티티 이름을 지정한다. name속성은 생략가능하다. (설정하지 않으면 클래스 이름을 그대로 사용) @Entity 사용시 주의사항 기본 생

객체의 참조와 테이블의 외래키를 매핑하는 것이 이 장의 목표이다!!방향 : 단방향, 양방향이 있다. 방향은 객체관계에만 존재하고, 테이블관계는 항상 양방향이다.다중성 : 다대일, 일대다, 일대일, 다대다 연관관계의 주인 : 객체를 양방향 연관관계로 만들면 연관관계의 주

1. 다대일 🔍 다대일 단방향(N:1) 회원은 Member.team으로 팀 엔티티를 참조할 수 있지만, 반대로 팀에는 회원을 참조하는 필드가 없다. 따라서 다대일 단방향 연관관계이다. @JoinColumn(name = "TEAMID") 을 통해 TEAMID 외래키
1. 상속 관계 매핑 관계형 데이터베이스에는 객체지향 언어에서 다루는 상속이라는 개념이 없다. ORM에서 말하는 상속관계 매핑은 객체의 상속 구조와 데이터베이스의 슈퍼타입/서브타입 관계를 매핑하는 것이다. 논리모델을 테이블로 구현하는 3가지 방법 1) 각각의 테이블로

1. 프록시 >프록시 객체 지연로딩기능을 사용하기 위해 실제 엔티티 객체 대신에 데이터베이스 조회를 지연할 수 있는 가짜 객체를 의미한다. >지연로딩 엔티티가 실제 사용될 때까지 데이터베이스 조회를 지연하는 방법. 지연로딩의 예를 담은 코드이다. team.getN

JPA 의 데이터 타입을 가장 크게 분류하면 엔티티 타입과 값 타입으로 나눌 수 있다.엔티티 타입은 식별자를 통해 지속해서 추적할 수 있지만, 값 타입은 식별자가 없고 숫자나 문자같은 속성만 있으므로 추적할 수 없다.값타입은 세가지로 나눌 수 있다.기본값 타입 \-자

✔ N+1문제란? 연관관계가 설정된 엔티티를 조회할 경우에 조회한 데이터 갯수(N)만큼 연관관계의 추가쿼리가 추가로 발생하여 데이터를 읽어오는 현상 ✔언제 발생할까요? @ManyToOne 관계를 가진 엔티티에서 주로 발생한다. 데이터 조회시 즉시 로딩으로 데이터를 가
테이블이 아닌 객체를 대상으로 검색하는 객체지향 쿼리다.SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다.JPQLCriteria 쿼리 : JPQL을 편하게 작성하도록 도와주는 API, 빌더 클래스 모음네이티브 SQL : JPA에서 JPQL 대신 직접 SQL