代码之家  ›  专栏  ›  技术社区  ›  S.K.

Spring引导:要求在JpaRepository中实现所有方法时出错

  •  3
  • S.K.  · 技术社区  · 6 年前

    为什么会这样?几个月前,当我在一个spring项目上工作时,这并没有发生。 我在课堂上导入了以下内容:

    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.stereotype.Repository;
    

    enter image description here

    以下是我的pom.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.1.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.abcd</groupId>
        <artifactId>abcd</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>abcd</name>
        <description></description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    1 回复  |  直到 6 年前
        1
  •  4
  •   Jonathan JOhx    6 年前

    自定义存储库必须是一个接口,并且必须从 JpaRepository CrudRepository PagingAndSortingRepository MongoRepository ,因此通过以下方式更新:

    @Repository 
    public interface UserRepository extends JpaRepository<User, Long> {....} 
    

    参考资料

    Official documentation on repositories core concepts