hibernate annoation (八 关联映射)[Java编程]
本文“hibernate annoation (八 关联映射)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
onetoone:单向
1,主键关联:
在关联放利用@OneToOne
sql语句:(类代码见同前面的代码)
Java代码
create table A (id integer not null auto_increment, aname varchar(255), b_id integer, primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), primary key (id))
alter table A add index FK41FCD34905 (b_id), add constraint FK41FCD34905 foreign key (b_id) references B (id)
可以利用@PrimaryKeyJoinColumn举行关联
2 双向:
在关联方利用
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="b")
被关联方利用
@OneToOne(mappedBy="b")
终究sql:
Java代码 create table A (id integer not null auto_increment, aname varchar(255), b integer, primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), primary key (id))
alter table A add index FK41FCA54B4F (b), add constraint FK41FCA54B4F foreign key (b) references B (id)
假如不写
@OneToOne(mappedBy="b")则会在被关联放也生成一个字段
终究代码:
Java代码
create table A (id integer not null auto_increment, aname varchar(255), i_id integer, primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), a_id integer, primary key (id))
alter table A add index FK41FCD6779E (i_id), add constraint FK41FCD6779E foreign key (i_id) references B (id)
alter table B add index FK42FCD2D4A5 (a_id), add constraint FK42FCD2D4A5 foreign key (a_id) references A (id)
假如没有写@JoinColumn(name="b")则默许是关联属性名+下划线+id
终究sql:
Java代码
create table A (id integer not null auto_increment, aname varchar(255), b_id integer, primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), primary key (id))
alter table A add index FK41FCD34905 (b_id), add constraint FK41FCD34905 foreign key (b_id) references B (id)
可以利用@JoinColumn(referencedColumnName="bname")让主关联方不关联被关联放的主键
终究sql
Java代码
create table A (id integer not null auto_increment, aname varchar(255), b_bname varchar(255), primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), primary key (id), unique (bname))
alter table A add index FK41E47CD6BD (b_bname), add constraint FK41E47CD6BD foreign key (b_bname) references B (bname)
以上是“hibernate annoation (八 关联映射)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |