
1. JPA이전의 역사 자바 개발자라면 무조건 알아야하는 기술 스택중 하나이면 자바 개발자를 준비하는 사람이라면 한번쯤은 꼭 들어봤을것이다. 그렇다면 도대체 JPA가 뭘까? >Java Persistence API 의 약자로 자바 진영에서 ORM(Object-Relati

엔티티 매니저는 엔티티를 저장하고,수정하고, 삭제하고, 조회 하는 등 엔티티와 관련된 모든 일을 처리한다. 이름 그대로 엔티티를 관리하는 관리자다. 앞장에서 패러다임의 불일치를 다루면서 계속해서 "데이터를 DB가 아닌, 컬렉션에 저장 했더라면? " 과 같은 내용을 언

0. 매핑 어노테이션 과거에는 엔티티 매핑에 XML 을 사용해왔지만 최근 트랜드는 어노테이션을 활용하는 것이 대세이다. JPA는 다양한 어노테이션들을 제공하고 있기 때문에 엔티티와 테이블을 정확히 매핑하기 위해선 매핑 어노테이션들을 제대로 숙지하고 있어야한다. 어노

1. 테이블 연관관계 VS 객체 연관관계 연관 관계 맺기 `테이블` 는 FK 를 가지고 서로 다른 테이블이 연관 관계를 맺는다. `객체` 는 참조주소 를 통해 서로 다른 객체와 연관 관계를 맺는다. 연관 관계 탐색 `테이블` 는 JOIN 연산을 통해 연관관계 탐색을

객체 관계 매핑 - 양방향★★★ 여지껏 단방향만 다뤄 보았으니 이번엔 양방향매핑을 살펴보자. 양방향 관계 연관관계의 경우 앞에서도 설명했지만, _테이블은 양방향, 객체는 단방향_ 이라고 분류를 했다. 그리고 그 뒤에 객체도 각 엔티티 객체가 서로를 참조하게끔 하

0. 모든 연관관계 다중성 다대일 : 단방향, 양방향** 일대다 : 단방향, 양방향** 일대일 : 주 테이블 단방향, 양방향 : 대상 테이블 단방향, 양방향 다대다 : 단방향, 양방향 1. 다대일 다대일 : 단방향 여태 앞에서 예시로 다뤘던 연관관계이며 기본적

1. 지연 로딩이란? 우리가 게시글을 조회한다고 가정해보자. 게시글 엔티티는 회원 엔티티와 연관관계가 맺어져있긴 하지만 우린 오직 게시글에 대한 정보만을 조회 하고 싶다. 하지만 아쉽게도 `POST 테이블을 조회하면 JPA는 우리 몰래 MEMBER 테이블을 모조리

영속성 전이란 관계 매핑 설정 중 하나로, 엔티티의 상태 변화가 다른 연관된 엔티티에게 전파 되도록 하는 매커니즘을 나타낸다.간단히 말해 "내가 삭제되면 나랑 연관관계 맺은 애들도 삭제되어야하고, 내가 저장되면 나랑 연관관계 맺은 애들도 같이 저장되어야 한다."는 것

JPA 에서는 데이터 타입은 크게 두 가지로 분류되는데, 1) 엔티티 타입 그리고 2) 값 타입 으로 나눌 수 있다. 여기서 오해하지말아야할게 지금 말한 JPA에서 말하는 데이터 타입은 자바에서 나누고 있는 원시타입, 참조변수 타입과 다른 개념이다. 위와 같이 회원 엔

게시판 구현에서 가장 기본적이면서 빠지면 안되는것이 바로 페이징 기능 이다. 페이징을 할 수 없으면 우리는 모든 데이터들을 한 페이지에 전부 불러와야하는데 데이터가 1000만건이라면?? 그렇기 때문에 페이징은 필수적이다. 하지만 이 페이징에 숨겨진 크나 큰 문제가 하나

프로젝트를 하면서 프론트분께서 요구사항을 전달해주셨는데 장바구니를 통해서 주문을 완료했는데도 계속 장바구니에 구매한 상품목록들이 남아있다는 것이였다. 그래서 허겁지겁 코드를 수정 하러 컴퓨터를 켰다.로직이야 뭐 간단하다. 클라이언트로부터 전달 받은 요청 DTO에서 상품