org.hibernate.MappingException: повторяющийся столбец в сопоставлении для сущности

Я делаю простую систему опроса. У меня есть 2 таблицы:

Person: ID, имя, фамилия

Vote: ID, Голосование (логическое), VoterID (Это на самом делеFK_PersonID), PersonID (это на самом делеFK_PersonID также).

Мне нужно быть в состоянии идентифицироватьwho cast голосование, а такжеwho the vote was for - используя людей, хранящихся вPerson стол дляboth из этих потребностей. СтолPerson содержит сведения о пользователях, которые могут "голосовать" а также "Голосовали за". Людям разрешается решать, хотят ли они голосовать за себя или нет.

Я наметил свои таблицы в моемdomain объекты как это:

Person

    private Integer ID;
    private String name;
    private String surname;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ID")
    public Integer getID() {
        return ID;
    }

    public void setID(Integer ID) {
        this.ID = ID;
    }

    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "surname")
    public String getSurname() {
        return surname;
    }

    public void setSurname(String surname) {
        this.surname = surname;
    }

Vote

private Integer ID;
private Person voter;
private Person person;
private Boolean vote;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
public Integer getID() {
    return ID;
}

public void setID(Integer ID) {
    this.ID = ID;
}

@Column(name = "vote")
   public Boolean getVote() {
    return vote;
}

public void setVote(Boolean vote) {
    this.vote = vote;
}

@ManyToOne
@JoinColumn(name = "personID")
public Person getVoter() {
    return voter;
}

public void setVoter(Person voter) {
    this.voter = voter;
}

@ManyToOne
@JoinColumn(name = "personID")
public Person getPerson() {
    return person;
}

public void setPerson(Person person) {
    this.person = person;
}

Error message

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: web.poll.domain.Vote column: personID (should be mapped with insert="false" update="false")

Ответы на вопрос(2)

Ваш ответ на вопрос