Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring DataJPA自定义查询问题:_Java_Jpa_Spring Data - Fatal编程技术网

Java Spring DataJPA自定义查询问题:

Java Spring DataJPA自定义查询问题:,java,jpa,spring-data,Java,Jpa,Spring Data,我使用JPA(hibernate+postgresql)和MongoDB进行了设置: <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.0.3.RELEASE</version>

我使用JPA(hibernate+postgresql)和MongoDB进行了设置:

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-mongodb</artifactId>
        <version>1.0.3.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>1.1.0.RELEASE</version>
    </dependency>

org.springframework.data

Hope是你们中的一个创建自定义查询的人(比如findBySomeProperty(…)


谢谢

Spring数据API在1.0和1.1版本之间发生了更改,这就是出现此错误的原因。对两个依赖项使用相同的版本,它应该可以工作。

我找到了答案:

    <spring.version>3.1.2.RELEASE</spring.version>
    <spring-data.jpa.version>1.2.0.BUILD-SNAPSHOT</spring-data.jpa.version>
    <spring-data.mongodb.version>1.1.0.BUILD-SNAPSHOT</spring-data.mongodb.version>
3.1.2.1版本
1.2.0.1构建快照
1.1.0.1构建快照


我在git存储库上做了一些maven测试,将版本组合在一起

我在尝试使用Spring数据JPA+Hibernate+Spring Framework 4.0时遇到了同样的问题。问题是Spring数据项目的速度跟不上Spring框架项目

我使用正确的JAR版本组合并排除任何其他Spring项目来解决这个问题,这样就可以基于“Spring Data”pom.xml文件正确自动地下载这些依赖的JAR。在此检查所有Spring数据依赖项:

我将maven pom.xml文件更改为:

    <properties>

    <!-- Generic properties -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <!-- Spring -->
    <spring-framework.version>3.2.9.RELEASE</spring-framework.version>
    <spring-data.version>1.6.0.RELEASE</spring-data.version>

    <!-- Hibernate / JPA -->
    <hibernate.version>3.6.10.Final</hibernate.version>

    <!-- Test -->
    <junit.version>4.11</junit.version>

    </properties>

    <dependencies>

    <!-- Spring framework -->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>${spring-data.version}</version>
    </dependency>

    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>${hibernate-jpa.version}</version>
    </dependency>

            ....
</dependencies>

UTF-8
UTF-8
3.2.9.1发布
1.6.0.1发布
3.6.10.最终版本
4.11
org.springframework.data
spring数据jpa
${spring data.version}
org.hibernate
冬眠核心
${hibernate.version}
org.hibernate
休眠实体管理器
${hibernate.version}
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
${hibernate jpa.version}
....

我也有同样的问题

org.springframework.data.repository.query.parser.PartTree.isCountProjection()Ljava/lang/Boolean;
但我通过使用适当的罐子组合解决了这个问题,比如

spring-data-jpa-1.2.0.RELEASE.jar <BR>
spring-data-commons-1.6.3.RELEASE.jar <BR>
spring-data-commons-core-1.4.1.RELEASE.jar<BR>
hibernate-entitymanager-4.1.12.final.jar<BR>
hibernate-jpa-2.1-api-1.0.0.final.jar<BR>
hibernate-validator-4.2.0.final.jar<BR>
hibernate-commons-annotations-4.0.0.CR2.jar<BR>
spring-data-jpa-1.2.0.RELEASE.jar
spring-data-commons-1.6.3.RELEASE.jar
spring-data-commons-core-1.4.1.RELEASE.jar
hibernate-entitymanager-4.1.12.final.jar
hibernate-jpa-2.1-api-1.0.0.final.jar
hibernate-validator-4.2.0.final.jar
hibernate-commons-annotations-4.0.0.CR2.jar
并使用SpringCore3.2.5版本的jars。问题解决了


我还使用了正确的方言,即连接到数据库的正确驱动程序。

Hi Abhinav。你是对的。问题是MongoAPI是1.0.4版本(我在上找到的最新版本),JPAAPI是1.1.2版本()
    <properties>

    <!-- Generic properties -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <!-- Spring -->
    <spring-framework.version>3.2.9.RELEASE</spring-framework.version>
    <spring-data.version>1.6.0.RELEASE</spring-data.version>

    <!-- Hibernate / JPA -->
    <hibernate.version>3.6.10.Final</hibernate.version>

    <!-- Test -->
    <junit.version>4.11</junit.version>

    </properties>

    <dependencies>

    <!-- Spring framework -->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>${spring-data.version}</version>
    </dependency>

    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>${hibernate-jpa.version}</version>
    </dependency>

            ....
</dependencies>
org.springframework.data.repository.query.parser.PartTree.isCountProjection()Ljava/lang/Boolean;
spring-data-jpa-1.2.0.RELEASE.jar <BR>
spring-data-commons-1.6.3.RELEASE.jar <BR>
spring-data-commons-core-1.4.1.RELEASE.jar<BR>
hibernate-entitymanager-4.1.12.final.jar<BR>
hibernate-jpa-2.1-api-1.0.0.final.jar<BR>
hibernate-validator-4.2.0.final.jar<BR>
hibernate-commons-annotations-4.0.0.CR2.jar<BR>