天天看点

【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字段上有小钥匙的图标)