SQL에 의존적인 개발을 하게됨패러다임의 불일치객체 지향 --> 필드와 메서드로 객체를 구성해서 사용하는 것에 초점관계형 DB --> 데이터를 잘 정규화해서 저장하는 것에 초점객체저장 : 공통된 특징을 부모로 정의한 후 자식이 상속받아 특징을 가지는 필드 및 메서드 정
1) h2 DateBase 설치 및 시작2) Maven 프로젝트 생성3) pom.xml에 라이브러리 추가4) presistence.xml 생성H2 DB 다운로드(https://www.h2database.com/html/main.html)실행DB 생성 (최초 1
1) 영속성 컨텍스트(Persistence Context)2) 객체 & 관계형 DB 매핑엔티티를 영구 저장하는 환경눈에 보이지 않는 논리적인 개념Entity Manager를 통해 접근Entity Manager Factory ? Entity Manager ? 비영속 (n
연관관계 매핑이 제일 복잡하고 생각해야할 것이 많다. 나머지는 무난무난객체와 테이블 매핑 : @Entity / @Table필드와 컬럼 매핑 :@Column / @Enumrated / @Temporal 등기본 키 매핑 : @Id / @GeneratedValue IDE
기본 키 매핑과 관련한 어노테이션은 크게 @Id / @GeneratedValue 가 있음그 중, @GeneratedValue와 관련한 전략(strategy)에 집중해서 알아보자1) @Id : 현재 필드가 기본키임을 알리기 위한 어노테이션2) @GeneratedValue
연관관계의 필요성: 연관관계가 왜 필요한지 2가지 예시를 통해 설명객체 -> 테이블에 맞춘 설계객체 -> 객체지향 설계객체와 테이블의 차이참조 vs 외래키양방향 연관관계양방향 연관관계 필요성 & 주의점Member 객체에는 teamId라는 필드값이 존재Member와 Te
다중성다대일 N:1일대다 1:N일대일 1:1다대다 N:M단방향, 양방향연관관계 주인다대일 의 뜻 : 1:N관계에서 연관관계 주인이 N인 경우가장 많이 사용되는 연관관계DB에서는 반드시 1:N 관계에서 N에 해당하는 테이블에 외래키(FK)가 들어간다\--> 1에 FK가
RDB에는 상속관계가 없다객체의 상속과 유사한 관계가 바로 슈퍼타입-서브타입 모델링 기법슈퍼타입-서브타입모델을 실제 물리 모델로 구현하는 3가지 방법이 존재조인 전략 : 각각 테이블로 변환단일 테이블 전략 : 하나의 통합 테이블로 변환구현 클래스마다 테이블 전략 : 서
사전적 의미로 대리(행위)나 대리권, 대리인을 의미\--> 어떤 것을 대신 해주는 것객체 내부에 특정 값이 아닌, 객체를 참조하는 객체지향 설계에서 프록시의 필요성에 대해 알아보자객체를 조회할 때 마다 내부 참조 객체에 대한 모든 정보를 가져올 필요는 없다 \--> 프
연관관계가 있는 엔티티간 영속성을 전이시키는 것Parent를 em.persist()하면 Child에 대한 em.persist()도 자동으로 수행됨연관관계 매핑과는 상관이 없음\--> 연관된 엔티티를 함께 영속화 하는 편리함을 제공할 뿐!종류ALL : 모든 옵션 PERS
JPA에서 데이터타입 분류는 다음과 같다엔티티 타입 : Entity로 정의하는 객체 (데이터가 변해도 식별자가 있어 지속해서 추적 가능)값 타입 : 단순 값으로 사용되는 자바 기본타입 or 객체기본값 타입임베디드 타입(복합 값 타입)컬렉션 값 타입 : 단순
값 타입을 컬렉션(List, Set)에 담아서 쓰는 변수RDB에는 다수의 데이터를 하나로 저장하는 구조가 없다\--> 테이블로 따로 분리해야 함 (1:N관계)Member 객체에 값 타입 컬렉션 2개를 추가 (favoriteFoods / addressHistory)@El
JPA는 다양한 쿼리 방법을 지원JPQL: SQL과 유사한 객체 중심의 쿼리 언어QueryDSL : SQL과 같은 쿼리를 생성하는 빌더 (JPQL의 단점인 동적쿼리 등을 커버하기 위한 용도로 사용)JPA Criteria: JPA에서 표준으로 지원하는 SQL생성
.(점) 을 찍어 객체 그래프를 탐색하는 것ex)상태 필드(state field): 단순히 값을 저장하기 위한 필드ex) m.username 연관 필드(association field)단일 값 연관 필드: 대상이 단수의 엔티티(Entity) ex) @ManyToOn
다형성 관계에 있는 객체를 대상으로 JPA가 지원하는 기능TYPE: 조회 대상을 특정 자식으로 한정ex) Item중에 Book,Movie를 조회해라TREAT: 상속 구조에서 부모 타입을 특정 자식 타입으로 다룰 때 사용JPQL에서 엔티티 자체를 직접 사용하면 SQL에서