사용자 도구

사이트 도구


java:jpa:springdatajpa:custom_repository

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
java:jpa:springdatajpa:custom_repository [2013/11/22 15:19]
kwon37xi 새로 만듦
java:jpa:springdatajpa:custom_repository [2015/08/25 16:58] (현재)
kwon37xi [구현할 클래스들]
줄 2: 줄 2:
 JpaRepositoryFactoryBean과 JpaRepositoryFactory에 의해서 Repository 의 구현체가 결정되는 듯. JpaRepositoryFactoryBean과 JpaRepositoryFactory에 의해서 Repository 의 구현체가 결정되는 듯.
 현재 기본 구현체는 SimpleJpaRepository 혹은 QueryDslRepository 두개임. 현재 기본 구현체는 SimpleJpaRepository 혹은 QueryDslRepository 두개임.
 +
 +@EnableJpaRepositories(repositoryFactoryBeanClass = 여기서 다른 팩토리Bean 지정)
 +
 +===== 구현할 클래스들 =====
 +  * **''[Custom]JpaRepositoryFactoryBean''** : ''JpaRepositoryFactoryBean''을 상속하여 구현하고 
 +    * ''createRepositoryFactory()''를 오버라이드하여 ''[Custom]JpaRepositoryFactory'' 객체를 생성하여 리턴한다.
 +  * **''[Custom]JpaRepositoryFactory''** : ''JpaRepositoryFactory''를 상속하여 구현하고,
 +    * ''getTargetRepository()''를 오버라이드하여 ''[Custom]JpaRepositoryImpl''객체를 리턴한다.
 +    * ''getRepositoryBaseClass()'' 메소드를 오버라이드하여 ''[Custom]JpaRepositoryImpl'' 객체를 리턴한다.
 +  * **''[Custom]JpaRepository''** 인터페이스 : ''JpaRepository''와 ''QueryDslPredicateExecutor'', ''JpaSpecificationExecutor''를 상속한 인터페이스. 상속 대상 인터페이스는 무엇을 원하느냐에 따라 다르다. Specification이 불필요하다면 ''JpaSpecificationExecutor''를 상속할 필요가 없는 식.
 +    * 여기서 Custom한 메소드를 자유롭게 추가해 주어 Repository를 확장할 수 있다.
 +  * **''[Custom]JpaRepositoryImpl''** : ''[Custom]JpaRepository'' 인터페이스를 구현하고 ''QueryDslJpaRepository'' 혹은 QueryDSL이 불필요하면 ''SimpleJpaRepository''를 상속한다.
 +    * 여기서 Custom한 메소드를 구현한다.
  
java/jpa/springdatajpa/custom_repository.1385101145.txt.gz · 마지막으로 수정됨: 2013/11/22 15:19 저자 kwon37xi