org.hibernate.MappingException: Coluna repetida no mapeamento para entidade

Eu estou fazendo um sistema de pesquisa simples. Eu tenho 2 mesas:

Person: ID, nome, sobrenome

Vote: ID, Vote (Boolean), VoterID (isso é realmenteFK_PersonID), PersonID (isso é realmenteFK_PersonID também).

Eu preciso ser capaz de identificarquem elenco a votação, bem comoa quem a votação foi para - usando as pessoas armazenadas noPerson mesa paraambos dessas necessidades. A mesaPerson contém detalhes do usuário de pessoas que podem "Votar" e "Votar por". As pessoas podem decidir se querem votar por si mesmas ou não.

Eu mapeei minhas tabelas na minhadomain objetos como este:

Pessoa

    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;
    }

Voto

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;
}

Mensagem de erro

Causado por: org.hibernate.MappingException: Coluna repetida no mapeamento para entidade: coluna web.poll.domain.Vote: personID (deve ser mapeada com insert = "false" update = "false")

questionAnswers(2)

yourAnswerToTheQuestion