您的位置:首页 > 职场人生

hibernate 核心总结 (面试)

2015-06-09 11:05 495 查看
1:1(类与类之间) husband----wife

外键关联:

a)单向@OneToOne

b)双向@OneToOne, mappedby="husband"

---------表的结构在任意一方加外键----





Wife





msqlbench 使用方法 生成类之间关系图



database - >reserve engine--》 就逆向的把表转为ss模型

2)1:n Group----User

a)单向 @OneToMany Group里放Set<users>

b)双向 @OneToMany mappedby="husband"

1:n 体现在类的方面的意义

Group 可以访问 User

但是 User 不可以访问 Group

a)











b)双向的 两个类可以互相访问



虽然两个类之间的关系不一样 ,但是他们对 数据库中的表的影响却是一致的

外键 在 多的哪一方

3)n:1 User---group

a)单向 @ManyToOne User 里放group

b)双向 @ManyToOne User 里放group

n:1







这样做就搞定了

3)many to many

会生成第三个表

将多个表的主键关系生成在generator——tables

1)1:1(类与类之间) husband----wife

外键关联:

a)单向@OneToOne

b)双向@OneToOne, mappedby="husband"

---------表的结构在任意一方加外键----

主键关联:

@PrimaryKeyJoinColumn

------两个表合并成一个表-----

@Embedded,不再是@OneToOne

-----联合外键------

1)建立联合外键类,实现序列化,重写equals,hashcode

2)删除原来类里面的外键的属性及get,set方法, 联合外键类作为新的属性,并产生get,set方法

3)@IDClass(WifePK.class)

4)wife 里要把是主键的属性的get方法上加入@id

---------表的结构在任意一方加多个外键----

2)1:n Group----User

a)单向 @OneToMany Group里放Set<users>

a)双向 @OneToMany mappedby="husband"

3)n:1 User---group

a)单向 @ManyToOne User 里放group

a)双向 @ManyToOne User 里放group

--------表的结构永远是在多的一方加外键-----

4)n:n Teacher----Student

@ManyToMany

--------表的结构永远是产生临时表-----

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: