J'essaie d'utiliser QueryDSL dans mon projet eclipse maven. Ce sont les dépendances.Demande de classes de type QL QL non générées
<properties>
<!-- The main class to start by executing java -jar -->
<start-class>my.app.market.DBApp</start-class>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<querydsl.version>4.1.4</querydsl.version>
<apt-maven-plugin.version>1.1.3</apt-maven-plugin.version>
</properties>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.1.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<build>
<plugins>
<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>
</plugins>
</build>
Après cela, j'essaie d'écrire les requêtes.
@Repository
public class QueryDSLRepo {
@PersistenceContext
private EntityManager em;
public ReportingParamDAO save(final ReportingParamDAO reportingParamDAO) {
em.persist(reportingParamDAO);
return reportingParamDAO;
}
public List<ReportingParamDAO> findreportingParamDAOsByIdQueryDSL(final Integer id) {
final JPAQuery<ReportingParamDAO> query = new JPAQuery<>(em);
final QReportingParamDAO reportingParamDAO = QReportingParamDAO.reportingParamDAO;
return query.from(reportingParamDAO).where(reportingParamDAO.id.eq(id)).fetch();
}
}
Mais je reçois l'erreur
QReportingParamDAO cannot be resolved to a type
Note: ReportingParamDAO
est une classe d'entité.
Cela signifie que la classe de type Q pour mon DAO n'est pas générée. Je ne sais pas pourquoi cela n'a pas été généré. Ai-je besoin de faire autre chose? Je suis tombé sur this mais l'utilisateur travaille sur IntelliJ
et je n'arrive pas à le faire fonctionner dans mon cas. Quelqu'un peut-il m'aider s'il vous plaît. Merci !!
Avez-vous essayé le débogage via la sortie de débogage maven comme 'mvn -X install' propre. Cela vous donnera de meilleures informations sur ce qui se passe dans ce plugin. Si possible, pouvez-vous poster la sortie de la console pertinente pour ce plugin? – yaswanth
@yaswanth Merci pour la réponse. Sans utiliser le QReportingParamDAO dans la classe, quand je fais l'installation propre de mvn -X je n'obtiens aucune erreur. – varunkr