我在做一個簡單的Poll系統。我有2個表:org.hibernate.MappingException:實體映射中的重複列
Person
:ID,姓名,姓
Vote
:身份證,投票(布爾),VoterID(這實際上是FK_PersonID
),是PersonID(這實際上是FK_PersonID
爲好)。
我需要能夠識別誰投投票以及誰投票是爲 - 使用存儲在Person
表中的人們對於兩個的這些需求。表Person
包含可以「投票」以及「投票」的用戶的用戶詳細信息。人們可以決定他們是否要投票。
我已經映射出我的表在我domain
對象是這樣的:
人
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;
}
投票
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;
}
錯誤消息
所致:org.hibernate.MappingException:在對實體映射 重複柱:web.poll.domain.Vote柱:PERSONID(應映射 與插入件= 「假」 更新= 「假」)
我需要有兩次關係,因爲一個'Voter'可以** **投票以及成爲**投票** – ThreaT 2012-08-17 09:04:47
他解釋說,在這個問題,投票包含有關誰投贊成票的persone信息以及被投票的人 – Less 2012-08-17 09:05:01