我想使用hibernate註釋爲我的數據庫表編寫模型類。如何使用hibernate註釋創建外鍵約束?
我有兩個表,每個都有一個主鍵User和Question。
@Entity
@Table(name="USER")
public class User
{
@Id
@Column(name="user_id")
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(name="username")
private String username;
// getter and setter
}
問題表。
@Entity
@Table(name="QUESTION")
public class Questions extends BaseEntity{
@Id
@Column(name="question_id")
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@Column(name="question_text")
private String question_text;
// getter and setter
}
而且我還有一個表,UserAnswer,其中有帳戶及questionId從上面兩個表的外鍵。
但我無法找到如何在UserAnswer表中引用這些約束。
@Entity
@Table(name="UserAnswer ")
public class UserAnswer
{
@Column(name="user_id")
private User user;
//@ManyToMany
@Column(name="question_id")
private Questions questions ;
@Column(name="response")
private String response;
//getter and setter
}
請幫我實現這個目標嗎? 在此先感謝。
非常感謝您的回覆。是否有必要在表中創建一個新的列作爲useranswer_id?如果我可以將其他兩個ID作爲複合鍵,有可能嗎? – vikiiii 2013-03-15 07:43:51
這是可能的,但它是糟糕的設計,痛苦,難以使用和效率低下。做正確的事情,併爲所有實體分配自動生成的單列ID。 – 2013-03-15 07:46:07
@JB_Nizet我不介意給一個實體添加一個id列。但是,我需要在表中添加一列嗎?我的意思是oracle數據庫。 – vikiiii 2013-03-15 07:48:41