Я хочу использовать MongoDB и QuerydslPredicateExecutor, чтобы иметь пользовательский запрос.Я попытался с приведенным ниже кодом, но у меня есть проблема
org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании компонента с именем 'WS': Неудовлетворенная зависимость, выраженная через поле 'хранилище';вложенное исключение: org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'lineeRepository': сбой вызова метода init;вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.data.mongodb.repository.support.QuerydslMongoPredicateExecutor]: конструктор сгенерировал исключение;Вложенное исключение - java.lang.IllegalArgumentException: не удалось найти класс запроса it.polito.pedibus.Model.QFermateM для класса домена it.polito.pedibus.Model.FermateM!
У меня есть эта модель
@Data
@Entity
@Document("linee")
public class FermateM {
@Id
public ObjectId _id;
private String idlinea;
private List<String> fermate;
}
С этим репозиторием
@Repository
public interface lineeRepository extends MongoRepository<FermateM, String> , QuerydslPredicateExecutor<FermateM> {
FermateM findBy_id(ObjectId _id);
@Query( value = "{}", fields = "{idlinea : 1}" )
List<String> getIDlinea();
}
и этим кодом
@Service
@RestController
public class WS {
@Autowired
private lineeRepository repository;
@RequestMapping(value = "lines", method = RequestMethod.GET)
public List<String> getIDlinee() {
return repository.getIDlinea();
}
}
Мой файл pom это
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- Spring boot Thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.0.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.9.Final</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<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.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Может кто-нибудь помочьмне пожалуйста?