[SPRING] 사용자 지정 리포지토리 기본 클래스 + QueryDslPredicateExecutor
SPRING사용자 지정 리포지토리 기본 클래스 + QueryDslPredicateExecutor
나는 상용구를 줄이는데 매우 유용한 QueryDslPredicateExecutor를 찾았지만 원숭이 렌치를 던져 넣은 것으로 보인다. 저는 이제 JpaRepository를 커스텀 기본 클래스 저장소로 확장하려고하고 있습니다. 그리고 시작시 Spring은 저장소를 정확하게 인스턴스화하는 데 어려움을 겪고 있습니다.
//Custom base class
@NoRepositoryBean
public interface IdAwareRepository<A, ID extends Serializable> extends JpaRepository<A, ID> {
// ID getId(A a);
}
// Base class implementation
public class IdAwareRepositoryImpl<A, ID extends Serializable>
extends SimpleJpaRepository<A, ID> implements IdAwareRepository<A, ID> {
public IdAwareRepositoryImpl(JpaEntityInformation<A, ?> entityInformation, EntityManager entityManager) {
super(entityInformation, entityManager);
}
}
// Individual repo
@Repository
public interface MyPojoRepository extends JpaRepository<MyPojo, Integer>, QueryDslPredicateExecutor<MyPojo> {
}
// Spring boot main application class
@EnableJpaRepositories(repositoryBaseClass = IdAwareRepositoryImpl.class)
@EntityScan(basePackageClasses = {Application.class, Jsr310JpaConverters.class})
@EnableAutoConfiguration(exclude = {
org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class,
org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration.class})
@SpringBootApplication
public class Application {}
이 주제에 대해 여러 가지 변형을 시도했지만, 성공적으로 유선을 구축하는 데 운이 없었습니다. 나는 Spring의 이슈 트래커 인 https://jira.spring.io/browse/DATAJPA-674에서 유사한 문제를 발견했지만, 수정에 대한 설명은 없었으며, 그 코드는 작업하기 쉽도록 리팩터링되었다.
다음과 같은 오류가 발생합니다.
나에게 Spring이 JpaRepository에 대한 커스텀 기본 클래스와 QueryDslPredicateExecutor 확장 모두를 유선화할 수 없다고 말한다.
해결법
-
==============================
1.내베이스 저장소에서 QueryDslMongoRepository를 확장하여 유사한 문제를 해결했습니다. 유사한 클래스를 확장 할 수 있습니다.
내베이스 저장소에서 QueryDslMongoRepository를 확장하여 유사한 문제를 해결했습니다. 유사한 클래스를 확장 할 수 있습니다.
"유형에 대한 속성이 없습니다"... MongoDB 및 Spring-Data에서 QueryDslPredicateExecutor를 사용할 때
from https://stackoverflow.com/questions/36293960/custom-repository-base-class-querydslpredicateexecutor by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] PostgreSQL의 HikariCP : setQueryTimeout (int)가 아직 구현되지 않았습니다. (0) | 2019.05.25 |
---|---|
[SPRING] Tomcat 7 응용 프로그램 오류 디버깅에 도움이 필요합니다. (0) | 2019.05.25 |
[SPRING] 인증서를 X509 필터로 가져 오는 방법 (Spring Security)? (0) | 2019.05.25 |
[SPRING] org.apache.camel.NoTypeConversionAvailableException : 형식 변환 할 수있는 형식 변환기가 없습니다 : (0) | 2019.05.25 |
[SPRING] Spring 트랜잭션 관리자 (주석 스타일) 런타임 오류 (0) | 2019.05.25 |