728x90

스프링 데이터 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는 spring-data-jpa 라이브러리가 필요하다. org.springframework.data spring-data-jpa 1.8.0.RELEASE 환경설정 스프링 설정에 XML을 사용하면 를 사용하고 리포지토리를 검색할 base-package를 적는다. 참고로 해당 패키지와 그 하위 패키지를 검색한다. 스프링 설정에 JavaConfig를 사용하면 아래와 같이 org.springframework.data.jpa.repository.config.EnableJpaRepositories 어노테이션을 추가하고 basePackages에는 리포지토리를 검색할 패키지 위치를 적는다. @Configuration @EnableJpaRepositories(basePackages =..

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
728x90