쿼리 문자열에 주어진 매개 변수가 술어로 자동 처리되도록 QueryDslPredicateExecutor 인터페이스로 UserTask 엔터티의 필터링 가능한 목록을 만들고 싶습니다.SpringBoot Couchbase 통합
나는이 다음의 클래스/인터페이스
public interface UserTaskQuerydslRepository extends CrudRepository<UserTask, String>,
QueryDslPredicateExecutor<UserTask>, QuerydslBinderCustomizer<QUserTask> {
@Override
default void customize(QuerydslBindings bindings, QUserTask userTask) {
...
}
}
다음 메이븐은 QUserTask 클래스를 생성 내가 @QueryEntity이 클래스에 주석을 경우 UserTask이 (카우치베이스 주식회사)를 나타냅니다 내 수업 모델
@QueryEntity
@Document(expiry = 0)
public class UserTask {
@Id
private String id;
...
}
입니다
나를 위해
@Generated("com.mysema.query.codegen.EntitySerializer")
public class QUserTask extends EntityPathBase<UserTask> {
private static final long serialVersionUID = 493434469L;
public static final QUserTask userTask = new QUserTask("userTask");
public final StringPath id = createString("id");
...
public QUserTask(String variable) {
super(UserTask.class, forVariable(variable));
}
public QUserTask(Path<? extends UserTask> path) {
super(path.getType(), path.getMetadata());
}
public QUserTask(PathMetadata<?> metadata) {
super(UserTask.class, metadata);
}
}
나는 QUOSTask를 생성하기 위해 다음을 추가했다. 날개 라인은 내가 거기 JPAAnnotationProcessor을 가지고 그 이유는, 우리가 JPA 엔티티와 카우치베이스 주식회사 엔티티 모두이 프로젝트에
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/apt</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
<processor>com.mysema.query.apt.QuerydslAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>3.4.3</version>
</dependency>
</dependencies>
</plugin>
을의 pom.xml합니다.
나는 다음과 같은 오류가 같은 응용 프로그램을 실행하는 경우 :
나는 @NoRepositoryBean 내 UserTaskQuerydslRepository 주석을 시도org.springframework.data.mapping.PropertyReferenceException: No property findAll found for type UserTask!
, 그것은 내 findall은 문제를 해결,하지만 난에이 저장소를 @Inject하려고 할 때 자원 (또는 컨트롤러는 JHipster는 자원을 호출) 내가받을 다음과 같은 오류
No qualifying bean of type [.UserTaskQuerydslRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.inject.Inject()}
사람이 내가 잘못 했습니까 걸 도와 드릴까요?
봄 데이터 카우치베이스 주식회사는 따라서 저장소를 더 QueryDsl 지원이 없습니다 빈으로 구현 될 수 없으므로 Spring은 저장소 빈을 삽입 할 수 없다. – mp911de
이론적으로 http://docs.spring.io/spring-data/couchbase/docs/current/reference/html/#core.extensions.querydsl – aBnormaLz
Spring 구성은 어떻게됩니까? 여러 개의 Spring 컨텍스트가있을 수 있습니까? 또한 로그를 검토하여 저장소 빈이 작성되는지 확인할 수 있습니다. – Jeremy