728x90

Spring Data JPA 4

JPA Named Query(메소드 이름으로 JPA Named 쿼리 호출)

스프링 데이터 JPA는 메소드 이름으로 JPA Named 쿼리를 호출하는 기능을 제공한다. JPA Named 쿼리의 이름 그대로 쿼리에 이름을 부여해서 사용하는 방법인데, 어노테이션이나 XML에 쿼리를 정의할 수 있다. @Entity @NamedQuery( name="Member.findByUsername", query="select m from Member m where m.username = :username") public class Member { ... } 이렇게 정의한 Named 쿼리를 JPA에서 직접 호출하려면 아래처럼 코드를 작성해야 한다. public class MemberRepository { public List findByUsername(String username){ ... Lis..

SpringDataJPA 2022.06.20

스프링 데이터 JPA 소개(부재 - 편리한 개발)

스프링 데이터 JPA는 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트 이 프로젝트는 데이터 접근 계층을 개발할 때 지루하게 반복되는 CRUD 문제를 세련된 방법으로 해결한다. 그 방법은 리포지토리를 개발할 때 인터페이스만 작성하면 실행 시점에 스프링 데이터 JPA가 구현 객체를 동적으로 생성해서 주입해준다. 따라서, 데이터 접근 계층을 개발할 때 구현 클래스 없이 인터페이스만 작성해도 개발을 완료할 수 있다. public interface MemberRepository extends JpaRepository{ Member findByUsername(String username); } public interface ItemRepository extends JpaRepositor..

SpringDataJPA 2022.06.19

(Spring data JPA) 쿼리 메소드란?

스프링 데이터 JPA의 예 스프링 데이터 JPA는 메소드 이름을 분석해서 JPQL을 생성하고 실행(코드량이 줄어들어 효율성 증가) public interface MemberRepository extends JpaRepository { List findByUsernameAndAgeGreaterThan(String username, int age); } 위와 같이, 메소드 이름으로 쿼리를 생성하는 기능을 쿼리 메소드라고 하며 기능은 Spring 공식 홈페이지에 정리되어 있으며 간단히 정리하면 아래와 같습니다. 스프링 공식문서 참고 - https://docs.spring.io/spring-data/jpa/docs/current/reference/html/ 조회: find…By ,read…By ,query…By..

JPA 2022.02.15

스프링 데이터 JPA 란?

스프링 데이터 JPA 란? Spring framework에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트입니다. CRUD 처리를 위한 공통 인터페이스가 제공됩니다. repository 개발 시, 인터페이스만 작성하면 실행 시점에 스프링 데이터 JPA가 구현체를 동적으로 생성해서 주입시켜 줍니다. 따라서, 구현 클래스 없이 인터페이스만 작성해도 개발을 완료할 수 있습니다. 스프링 데이터 JPA 없이 Repository 개발한 예 @Repository @RequiredArgsConstructor public class MemberRepository { private final EntityManager em; public void save(Member member) { em.persist(member..

JPA 2022.02.15
728x90