Hibernate 聯合主鍵的設定

2021-07-10 16:10:08 字數 1114 閱讀 3986

在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...