我在做一个简单的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