首页 > 解决方案 > 无法导入 javax.persistence.MapsId

问题描述

我使用 Spring Data JPA,我想@MapsId在我的一个实体的代码中使用注释

虽然我把import javax.persistence.*;我的实体

我有以下编译错误:

cannot find symbol
[ERROR]   symbol:   method name()
[ERROR]   location: @interface javax.persistence.MapsId

我的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"
    ...

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>2.3.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.3.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.4.1210</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <version>2.3.4.RELEASE</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

标签: javaspringspring-data-jpamaven-3

解决方案


您正在使用@MapsId(name = "something"),但name在 上不存在@MapsId

改用value: @MapsId(value = "something"),或者干脆@MapsId("something")


推荐阅读