Не удается импортировать javax.persistence.MapsId

#java #spring #spring-data-jpa #maven-3

#java #весна #spring-data-jpa #maven-3

Вопрос:

Я использую 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>
  

Комментарии:

1. Вам не хватает самой важной части кода: вашего @MapsId использования

Ответ №1:

Вы используете @MapsId(name = "something") , но name не существует @MapsId .

Используйте value вместо этого: @MapsId(value = "something") , или просто @MapsId("something")