![](/img/trans.png)
[英]How to add to INSERT INTO PRIMARY KEY AND FOREIGN KEY
[英]How to add primary key to a view?
我希望使用Hibernate將數據庫視圖映射到Java對象中,但是由於我的視圖中沒有Id,因此無法這樣做。
如何在視圖中將列設置為主鍵?
@Entity
@Table(name = "employmentinformationview")
public class EmploymentInformationView implements Serializable {
//@Id
//No primary key
@Column(name = "InfoID")
private int infoId;
@Column(name = "EmpID")
private String empId;
...
}
根據Piotr的建議,選擇一個或一組視圖中唯一的列。 如果您有一列唯一且不為null的列,則可以選擇該列作為您的主鍵。
例如,要將empId
用作主鍵,可以嘗試以下操作:
@Id
@Column(name = "EmpID")
private String empId;
但是,如果您有多列可以作為復合鍵形成,那么您需要使用@EmbeddedId
創建復合鍵:
@Entity
@Table(name = "employmentinformationview")
public class EmploymentInformationView implements Serializable {
@EmbeddedId
@AttributeOverride(name="infoId", column=@Column(name="InfoID")
@AttributeOverride(name="empId", column=@Column(name="EmpID")
EmploymentViewId id;
...
}
組合鍵被聲明為Embedabble類:
@Embeddable
class EmploymentViewId implements Serializable {
int infoId;
String empId;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.