在mysql建表時可以設定聯合主鍵,現在要建乙個乙個user表,user表中有三個欄位username,usergroup,***,將username與usergroup設定為聯合主鍵,建表法如下:
create
table
`user` (
`usergroup`
varchar(20) not
null,
`username`
varchar(20) not
null,
`***`
varchar(20) default
null,
primary
key (`usergroup`,`username`)
) engine=innodb default charset=utf8
在hibernate下設定聯合主鍵的方式很多,具體參考:本文採用比較常用的方式。
1)首先編寫primarykey的主類,在主類中包含聯合主鍵的字段,涉及到的關鍵字是@embeddable
@embeddable
public
class
idpk
implements
serializable
public
void
setusername(string username)
public string getusergroup()
public
void
setusergroup(string usergroup)
}
2)編寫model
@entity
@table(name = "user")
public
class
user
public
void
setidpk(idpk idpk)
public string get***()
public
void
set***(string ***)
}
如此配置就完成了聯合主鍵的設定(文章簡略做筆記之用) hibernate對映聯合主鍵
student類 public class student private studentpk pk private int age get方法.set方法.聯合主鍵類必須序列化 public class studentpk implements serializable private int s...
Hibernate聯合主鍵Annotation
teacher類設定id,name為聯合主鍵 abc三種方式 新建teacherpk類,屬性id,name和getters,setters在teacher裡去掉id,name以及他們的getset方法 a 1給teacherpk加注釋 embeddable 2在teacher中加入teacherpk...
hibernate聯合主鍵 註解方式
1 方法一 主鍵類用 embeddable,pojo類仍然用 entity但是引用主鍵類的物件用 id 主鍵pojo類 embeddable public class composeidpk implements serializable column length 10,name uuid pub...