org.mise en veille prolongée.MappingException: la répétition d'une colonne dans la cartographie de l'entité

Je suis en train de faire un simple système de Sondage. J'ai 2 tables:

Person: ID, Nom, Prénom

Vote: L'IDENTIFIANT de Vote (Boolean), VoterID (C'est en fait FK_PersonID), PersonID (C'est en fait FK_PersonID).

J'ai besoin d'être en mesure d'identifier qui jettent le droit de vote et qui le vote a été pour - aide les personnes présentes dans la Person table pour les deux de ces besoins. Le tableau Person contient les détails de l'utilisateur de personnes qui peuvent "Voter" ainsi que "Voter pour". Les gens sont autorisés à décider s'ils veulent voter pour eux-mêmes ou pas.

J'ai tracé mes tables de ma domain objets comme ceci:

Personne

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

Message d'erreur

Causés par: org.mise en veille prolongée.MappingException: la répétition d'une colonne dans la cartographie
pour l'entité: web.sondage.domaine.Vote de la colonne: personID (doit être mappé
avec insert="false" update="false")

OriginalL'auteur ThreaT | 2012-08-17