org.hibernate.MappingException: Powtarzana kolumna w mapowaniu dla jednostki
Robię prosty system ankiet. Mam 2 stoły:
Person
: ID, imię, nazwisko
Vote
: ID, Vote (Boolean), VoterID (Tak jestFK_PersonID
), PersonID (Tak jestFK_PersonID
także).
Muszę być w stanie zidentyfikowaćkto rzucił głosować, jak równieżza kogo głosowano - korzystanie z osób przechowywanych wPerson
tabela dlaobie tych potrzeb. StółPerson
zawiera dane użytkowników osób, które mogą „Głosować”, a także „Głosowane za”. Ludzie mogą decydować, czy chcą głosować na siebie, czy nie.
Mapowałem moje tabele w moimdomain
takie obiekty:
Osoba
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;
}
Głosować
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;
}
Komunikat o błędzie
Przyczyna: org.hibernate.MappingException: Powtarzana kolumna w mapowaniu dla encji: web.poll.domain.Vote kolumna: personID (powinna być odwzorowana z insert = "false" update = "false")