com.querydslでQクラスを自動生成する際に問題があります。私は、com.query.dslとspring-boot-jpaの間に互換性のあるミスがあることを知っていますが、私は肯定的な結果を出さずにバージョンをたくさん試しました。 org.springframework.beans.BeanInstantiationException:ここに私のpom.xmlquerydslPredicate with spring-boot-starter-jpa
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1212.jre7</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>1.4.3.RELEASE</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>21.0</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.0.7</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<id>process-common-model</id>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/apt</outputDirectory>
<processors>
<processor>com.query.apt.jpa.JPAAnnotationProcessor</processor>
</processors>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.0.7</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
エラー
によって引き起こされる[org.springframework.data.jpa.repository.support.QueryDslJpaRepository]をインスタンス化に失敗しました:コンストラクターが例外をスローしました。ネストされた例外はjava.lang.IllegalArgumentExceptionです:ドメインクラスcom.coig.prek.webservice.modules.quiz.entiry.Quizのクエリクラスcom.coig.prek.webservice.modules.quiz.entiry.QQuizが見つかりませんでした! (BeanUtils.java:154)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE] at org.springframework.data.repository.core。 .RepositoryFactorySupport.getTargetRepositoryViaReflection(RepositoryFactorySupport.java:365)〜[spring-data-commons-1.13.0.RELEASE.jar:na] at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory。 java:101)〜[spring-data-jpa-1.11.0.RELEASE.jar:na] at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:81)〜[spring- data-jpa-1.11.0.RELEASE.jar:na] at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:199)〜[spring-data-commons-1.13.0。 RELEASE.jar:na] at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:277)〜[spring-data-commons-1.13.0.RELEASE.jar:na] at org.springframework.data。リポジトリ・コレクション・サポート(リポジトリ・ファクトリ・バインディング・サポート(JBoss):263) (AbstractAutowireCapableBeanFactory.java:1687)〜[プロパティ] - [spring-data-jpa-1.11.0.RELEASE.jar:na]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods〜afterPropertiesSet(JpaRepositoryFactoryBean.java:101)〜[ spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.ja va:1624)〜[spring-beans-4.3.6.RELEASE.jar:4.3.6.RELEASE] ... 47個の共通フレームが省略されました 原因:java.lang.IllegalArgumentException:クエリクラスcomが見つかりませんでした。ドメインクラスcom.coig.prek.webservice.modules.quiz.entiry.Quizのためのcoig.prek.webservice.modules.quiz.entiry.QQuiz! (SimpleEntityPathResolver.java:63)〜[spring-data-commons-1.13.0.RELEASE.jar:na] at org.springframework.data.jpa.repository。 (QueryDslJpaRepository.java:84)〜[spring-data-jpa-1.11.0.RELEASE.jar:na] at org.springframework.data.jpa.repository.support.QueryDslJpaRepository(QueryDslJpaRepository.java: 68.)〜[spring-data-jpa-1.11.0.RELEASE.jar:na]at sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド)〜[na:1.8.0_111] at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62)〜[na:1.8.0_111]at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)〜[na:1.8.0_111] at j (BeanUtils.java:142)〜[spring-beans-4.3。])を使用しています。 6.RELEASE.jar:4.3.6.RELEASE] ... 56個の共通フレームが省略されました 原因:java.lang.ClassNotFoundException:com.coig.prek.webservice.modules.quiz.entiry.QQuiz at java.net .URLClassLoader。findClass(URLClassLoader.java:381)〜[na:1.8.0_111]at java.lang.ClassLoader.loadClass(ClassLoader.java:424)〜[na:1.8.0_111] at sun.misc.Launcher $ AppClassLoader。 loadClass(Launcher.java:331)〜[na:1.8.0_111] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)〜[na:1.8.0_111] at org.springframework.util.ClassUtils。 (SimpleEntityPathResolver.java:53)〜[春・データ・コモンズ・1.13.0.RELEASE.jar:
01:ナ] ... 63個の共通フレームが
リポジトリを省略
@Repository
public interface QuizRepository extends PagingAndSortingRepository<Quiz, Long>, QueryDslPredicateExecutor<Quiz> {
}
とエンティティ:
@javax.persistence.Entity
@Table(name = "QUIZ", uniqueConstraints = {
@UniqueConstraint(columnNames = "NAME")
})
@ToString
public class Quiz extends Entity{
@Column(name = "NAME")
private @Setter @Getter String name;
@Column(name = "TYPE")
private @Setter @Getter Integer type;
@Column(name = "TIME")
private @Setter @Getter Long time;
@JsonProperty(value = "branch")
@Column(name = "BRANCH")
private @Setter @Getter Integer branch;
@OneToMany
private @Setter @Getter Set<Question> questions;
public Quiz() {}
}
私は何かが足りない、または私が間違っているの何場合は、教えてもらえますか? ありがとうございました。ここで
は春ブーツのバージョン(1.5.1と1.4.3と?)を混合止める、それがお役に立てば幸いです。フレームワークのバージョンには関係ありません(フレームワークに関係なく)。 –
はい、間違いですが、Googleで見つかった別の解決策を確認した後でコードを修正するのを忘れました。 (それは私の主な問題を解決していなかった) – rdabrowski