Я пытаюсь создать контроллер, который использует Spring Data QueryDSL.
Мой контроллер выглядит следующим образом:
@GetMapping("/playerAccount")
public Iterable<PlayerAccount> getPlayerAccounts(com.querydsl.core.types.Predicate predicate) {
return repository.findAll(predicate);
}
и моя сущность (упрощена для краткости)
@Entity
public class PlayerAccount {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
}
Когда я вызываю API GET / playerAccount, я получаю исключение IllegalStateException «Не найден первичный конструктор или конструктор по умолчанию для интерфейса com.querydsl.core.types.Predicate» (генерируется org.springframework.web.method. annotation.ModelAttributeMethodProcessor # createAttribute).
Что может быть не так?
Спасибо
Редактировать:
Мой pom. xml содержит
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
</dependency>
и
<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</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
У меня нет @EnableSpringDataWebSupport, но у меня должен быть эквивалент.