ORM 12

공통 인터페이스 기반 - 순수 JPA 기반 레포지토리 만들기

일단 순수하게 JPA 기반을 레포지토리를 한번 만들어보자. 저장 변경 - > 변경감지 사용 삭제 전체 조회 단건 조회 카운트 => JPA에서 수정은 변경가지 기능을 사용하면 되고 트랜잭션 안에서 엔티티 조회한 다음 데이터 변경하고 트랜잭션 종료 시점에 변경 감지 기능이 작동해서 변경된 엔티티를 감지하고 UPDATE SQL을 실행한다. 기본적인 CRUD를 만들어본다. JPA가 제공하는 JPQL이라는 기술을 사용하자(객체를 대상으로 하는 쿼리) SQL로 번역이 된 다음에 실제 db에서 데이터를 가져와서 반환을 해준다. delete, findById, Optional, count을 사용해서 만들어준다. package study.datajpa.repository; import org.springframewor..

실전 예제 1 - 요구사항 분석과 기본 매핑

아래 요구사항을 가지고 간단한 쇼핑몰 예제를 만들어 보자. 회원과 주문의 1대다 관계 주문과 주문상품의 관계 1대다 주문상품과 상품의 관계 다대일 테이블 설계와 엔티티 설계 매핑 그림은 아래와 같다. 엔티티 설계와 매핑 예시를 코드로 구현해보자. maven으로 새로운 프로젝트를 생성해준다. 폴더구조에서 persistence.xml을 만들어 주고 설정을 해준다. Member Order OrderItem Item Class를 각각 만들어준다. Member Class에서 Id 식별자는 필수로 해준다. getter setter을 만들어 준다.(setter는 많이 만들면 코드 추적하기가 어렵고 유지보수성에서 떨어진다.) package jpabook.jpashop.domain; import javax.persist..

Spring/JPA 2022.04.14