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")