我有一些問題建模外鍵我喜歡它處於休眠方式4.1.9Hibernate的註解與普通列外和主鍵
我基本上有以下代碼:
@Entity
@XmlRootElement
@Table(name="User")
public class UserVO
{
private String email;
@Id
@Column(name="email", unique=true, nullable=false)
@XmlElement
public String getEmail()
{
return this.email;
}
}
這:
@Entity
@XmlRootElement
@Table(name="Authentification")
public class AuthentificationVO
{
private String email;
private UserVO user;
@Id
@Column(name="email", unique=true, nullable=false)
@XmlElement
public String getEmail()
{
return this.email;
}
@OneToOne(cascade = CascadeType.ALL)
@ForeignKey(name="user_fk")
public UserVO getUser()
{
return this.user;
}
}
這一切問題的關鍵,是要有兩個表中名爲email列,這也應作爲用戶身份認證和兩個表的主鍵。出於某種原因,當我運行這個時,Hibernate堅持向名爲user_email的認證表添加一列,但我希望它使用已經存在的名爲email的列。
我試着四處尋找解決方案,我試圖使用mappedBy註解,以及JoinColumn,但似乎沒有任何關鍵。
它爲我工作,當我使用MapsId。 – skstar 2015-04-29 05:21:07