본문 바로가기

JPA3

[JPA] 실전! 스프링 데이터 JPA Part5. 스프링 데이터 JPA 분석 / Part6. 나머지 기능들 1. 스프링 데이터 JPA 구현체 분석 - 스프링 데이터 JPA가 제공하는 공통 인터페이스의 구현체 - org.springframework.data.jpa.repository.support.SimpleJpaReposi tory @Repository @Transactional(readOnly = true) public class SimpleJpaRepository ...{ @Transactional public S save(S entity) { if (entityInformation.isNew(entity)) { em.persist(entity); return entity; } else { return em.merge(entity); } } ... } - @Repository 적용 : JPA 예외를 스프링.. 2022. 10. 13.
[JPA] 실전! 스프링 데이터 JPA Part3. 쿼리 메소드 기능 이제 본격적으로 스프링 데이터 JPA를 사용하는 방법에 대해서 알아보자. 우선, 쿼리 메서드 기능은 아래와 같이 3가지 기능을 제공한다. 1) 메소드 이름으로 쿼리 생성 => MemberRepository / TeamRepository 인터페이스에 직접 정의 2) @Query 어노테이션을 사용 => MemberRepository / TeamRepository 인터페이스에 직접 정의 3) 메소드 이름으로 JPA NamedQuery 호출 => 사용하는데 코드가 복잡해져서 거의 사용 안 함 => 생략 ​ 1. 메소드 이름으로 쿼리 생성 - 이름과 나이를 기준으로 회원을 조회하려면? 1) 순수 JPA를 이용하는 경우 public List findByUsernameAndAgeGreaterThan(String us.. 2022. 10. 13.
[JPA] 실전! 스프링 데이터 JPA Part1. 예제 도메인 모델 Spring Data JPA는 JPA를 편리하게 사용하기 위해 도와주는 기술이다. 기존 JPA를 사용할 때는 JPQL 문법으로 JPA를 사용했지만, 스프링 데이터 JPA를 사용하면 보다 쉽게 JPQL을 사용할 수 있도록 도와준다. 현재 담당하고 있는 프로젝트의 경우 JPA기반의 프로젝트로 70%는 스프링 데이터 JPA를 활용하고 나머지 30%는 queryDsl을 사용한다. 스프링 데이터 JPA를 배우기 위해 인프런에서 강의를 듣고 복습할 겸 내용을 정리해보는 시간을 가져봤다. 강의는 인프런에서 김영한님이 교육해주시는 강의를 듣고 정리하였다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%8D%B0%EC%9D%B4%ED%84%B0-JPA-.. 2022. 10. 13.