亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

Hibernate單向多對(duì)多 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【m.msguai.com - 電腦資料】

    最近做一個(gè)OA系統(tǒng),用到了Hibernate框架,我發(fā)現(xiàn),權(quán)限和角色的關(guān)系是一種多對(duì)多的關(guān)系,一個(gè)權(quán)限可以分配給多個(gè)角色,一個(gè)角色擁有多個(gè)權(quán)限,

Hibernate單向多對(duì)多

。

    多對(duì)多關(guān)系有兩種,一種是單向的,一種是多向的。對(duì)于這個(gè)問題,曾經(jīng)讓我很犯難。單純?cè)谡Z(yǔ)言上理解,會(huì)比較復(fù)雜,而從代碼上理解,可能就會(huì)明白了。

    下面模擬為角色授權(quán)的過程:

    1,Hibernate使用Annotation

    2,使用Junit進(jìn)行測(cè)試。

    3,使用Mysql作為后臺(tái)數(shù)據(jù)庫(kù)。

    4,Hibernate不使用自動(dòng)建表,也不采用反向工程。

    過程 :

    1,建表:

    數(shù)據(jù)表結(jié)構(gòu)采用如圖所示:

   

    SQL語(yǔ)句:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    CREATE TABLE role(                         #角色表

    RoleId INT PRIMARY KEY AUTO_INCREMENT , #角色I(xiàn)D

    RoleName VARCHAR(20) NOT NULL           #角色名稱

    ) ;

    CREATE TABLE privilege(                    #權(quán)限表

    PrivilegeId INT PRIMARY KEY ,           #權(quán)限ID

    PrivilegeName VARCHAR(45) NOT NULL      #權(quán)限表

    ) ;

    CREATE TABLE privilege_role(               #權(quán)限_角色中間表

    RoleId INT ,

    PrivilegeId INT ,

    PRIMARY KEY (RoleId,PrivilegeId) ,

    CONSTRAINT fk_privilege_role FOREIGN KEY(RoleId) REFERENCES role(RoleId) ,

    CONSTRAINT fk_role_privilege FOREIGN KEY(PrivilegeId) REFERENCES privilege(PrivilegeId)

    ) ;

    2,hibernate.cfg.xml文件:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

   

   

   

    com.mysql.jdbc.Driver

    jdbc:mysql://localhost:3306/hibernate

    root

    xxxx

    org.hibernate.dialect.MySQL5InnoDBDialect

    true

   

   

   

   

最新文章