Spring Data JPA 공식 참고 문서 노트(1)

3250 단어 SpringData자바
공식 Spring Data JPA 문서 2.1.9.RELEASE 참조
1.Spring Data JPA 는 어떻게 사용 합 니까?
핵심 인터페이스 Repository,Spring 은 이 인터페이스 에**@Indexed**주 해 를 사 용 했 습 니 다.
Repository 인 터 페 이 스 를 계승 한 공공 인터페이스 에 NoRepository Bean 주 해 를 사 용 했 습 니 다.
1.업무 에서 실체 류 의 첨삭 과 검 사 를 실현 하려 면 자신의 인 터 페 이 스 를 새로 만들어 서 Repository 인 터 페 이 스 를 계승 하거나 Repository 인터페이스의 하위 인 터 페 이 스 를 계승 해 야 한다.자신 이 새로 만 든 인 터 페 이 스 는 조작 할 실체 류 와 이런 유형의 메 인 키 유형 을 범 형 으로 해 야 한다.
interface PersonRepository extends Repository { … }

2.자신 이 만 든 인터페이스 에서 실체 류 를 조작 하 는 첨삭 검사 방법 을 정의 한다.
interface PersonRepository extends Repository {
  List findByLastname(String lastname);
}

3.Spring 을 설정 하여 자바 Config 또는 XML 설정 을 사용 하여 이 인터페이스 에 프 록 시 인 스 턴 스 3.1 자바 Config 방식 을 만 듭 니 다.@EnableJpa Repositories 설명
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@EnableJpaRepositories
class Config {}

3.2 XML 설정 방식



   



4.저장 소 인 스 턴 스 를 주입 하고 사용 합 니 다.
class SomeClient {

  private final PersonRepository repository;

  SomeClient(PersonRepository repository) {
    this.repository = repository;
  }

  void doSomething() {
    List persons = repository.findByLastname("Matthews");
  }
}

이상 은 Spring Data JPA 를 사용 하 는 4 단계 입 니 다.요약 은 다음 과 같 습 니 다.
  • 정의 저장 소 인터페이스:계승 Repository 인터페이스
  • 조회 방법 정의:JPA 문법 에 따라 조회 방법 정의
  • 저장 소 인 스 턴 스 생 성:JavaConfig 또는 XML 을 설정 하여 Spring 이 인 터 페 이 스 를 자동 으로 주입 하 는 인 스 턴 스
  • Spring 데이터 저장 소의 사용자 정의 실현
  • 1.2 데이터 모듈(데이터베이스 MySQL,MonogoDB)을 구분 하 는 방법
  • 자신 이 정의 한 인터페이스 계승 인터페이스 가 어떤 데이터 모듈 인지 보기
  • // JPA
    interface MyRepository extends JpaRepository { }
    
    @NoRepositoryBean
    interface MyBaseRepository extends JpaRepository {
      …
    }
    
    interface UserRepository extends MyBaseRepository {
      …
    }
    
  • 실체 류 의 주 해 를 보면 어떤 데이터 모듈 의 주 해 를 사용 하 는 지 볼 수 있다
  • interface PersonRepository extends Repository {
     …
    }
    
    // JPA    
    @Entity
    class Person {
      …
    }
    
    interface UserRepository extends Repository {
     …
    }
    
    //mongoDB    
    @Document
    class User {
      …
    }
    
  • 자신 이 정의 한 인터페이스 가 있 는 가방 을 보고 가방 은 스캐닝 인터페이스 정의
  • 를 정의 했다.
    @EnableJpaRepositories(basePackages = "com.acme.repositories.jpa")//           JPA    
    @EnableMongoRepositories(basePackages = "com.acme.repositories.mongo")//           mongodb    
    interface Configuration { }
    

    좋은 웹페이지 즐겨찾기