天天看點

【hibernate架構】一對一單向主鍵關聯(XML實作)

依然是學生和學生卡的關聯,這次是一對一單項主鍵關聯

student.cfg.xml:

(隻改了這裡)

stuidcard.cfg.xml:

生成的建表語句,stuidcard裡面也沒有了student_id

create table stuidcard (

        id integer not null auto_increment,

        num varchar(255),

        primary key (id)

    )

    create table student (

        id integer not null,

        name varchar(255) not null,

        age integer,

        primary key (id, name)

schema export complete

但是你會發現沒有建立外鍵聯系,這個時候就很危險,會産生id不一緻的情況!

如何在xml配置檔案中進行外鍵聯系:

<one-to-one name="student" constrained="true"></one-to-one>

constrained="true"意思就是幫你加一個外鍵關聯限制。

新的建表語句:

 create table stuidcard (

        name varchar(255),

    alter table stuidcard 

        add index fkd1e159dffb389035 (id), 

        add constraint fkd1e159dffb389035 

        foreign key (id) 

        references student (id)

可以看到,已經加了外鍵關聯(stuidcard的id字段上有小鑰匙的圖示)