import javax.persistence.column,javax.persistence.entity,javax.persistence.Id - 等等 - 无法解析

Adr*_* Be 10 spring annotations hibernate jpa maven

我正在尝试按照本教程http://viralpatel.net/blogs/spring3-mvc-hibernate-maven-tutorial-eclipse-example/

我没有开始使用可下载的项目,而是从一个我之前做过的简单的"spring mvc - maven - eclipse"项目开始.这个项目运行正常.

因此,正如该教程所示,我开始创建包.然后我创建了我的第一个名为"Contact.java"的类,其中包含各种注释.见下面的课程.

package sphbmveclp.contact.form;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="CONTACTS")
public class Contact {

    @Id
    @Column(name="ID")
    @GeneratedValue
    private Integer id;

    @Column(name="FIRSTNAME")
    private String firstname;

    @Column(name="LASTNAME")
    private String lastname;

    @Column(name="EMAIL")
    private String email;

    @Column(name="TELEPHONE")
    private String telephone;

    public String getEmail() {
        return email;
    }
    public String getTelephone() {
        return telephone;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }
    public String getFirstname() {
        return firstname;
    }
    public String getLastname() {
        return lastname;
    }
    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }
    public void setLastname(String lastname) {
        this.lastname = lastname;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
}
Run Code Online (Sandbox Code Playgroud)

我添加了以下依赖项,认为它可以完成工作,因为这些注释是"标准JPA注释"

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

然而eclipse说:

第一次导入时"无法解析导入javax.persistence.Column".

"第二次导入无法解析导入javax.persistence.Entity".

等等...

这是我的pom.xml中定义的依赖项列表

The import javax.persistence.Column cannot be resolved" for the first import.
The import javax.persistence.Entity cannot be resolved" for the second import.
Run Code Online (Sandbox Code Playgroud)

Adr*_* Be 35

这解决了我的问题:

    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>1.0.1.Final</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

不完全确定我为什么需要它,而在教程中根本没有提到它.