Hibernate关联关系总结

Hibernate关联关系总结_第1张图片
猜猜这是哪首歌MV里面的片段。推荐这首热门歌曲哦!

文章内容:
1.OnetoOne 单向 双向关联
2.ManytoOne单向 双向关联
3.OnetoMany单向 双向关联
4.ManytoMany 双向关联

1.OnetoOne 单项关联
主控端实体中放置一个被控端的实例作为属性
然后在get被控端实体的方法上用@OnetoOne和@joincolumn(name unique)来指定外键并生成相应的列
被指控端不用做任何特殊注解
我这里是以Account和address作为例子
Account作为主控端address作为被控端
Account中持有address的实例
并且要unique设置为ture,保证唯一一个address对应一个Account

Hibernate关联关系总结_第2张图片

2.OnetoOne 双向关联
只需要在上面的单向关联基础上的被控端加上同样的OnetoOne注解即可,但是里面要是mappedby
来与另一端形成关联,mappedby的值是主控端上持有的被控端实例的变量名

Hibernate关联关系总结_第3张图片

1.ManytoOne单向关联
这里的例子是:多个航班(flight)对应一个公司(company)
只需要在多端持有一端的实例,然后在get方法上添加下面的注解,生成一个外键列即可
一端不需要进行特殊的注解


Hibernate关联关系总结_第4张图片

2.ManytoOne双向关联
同OnetoMany的双向是一样的

OnetoMany单向关联
这里的例子是:一个训练师(trainer)对应多个猴子(monkeys)
在训练师的类总持有一个set集合,对应多个猴子
然后建立关联表
猴子类不需要特殊的注解

Hibernate关联关系总结_第5张图片
Hibernate关联关系总结_第6张图片

OnetoMany双向关联
这里的例子是:一个账户(Account)对应多个订单(orders)
在订单类里持有一个Account实例,然后子啊get方法上生成一个新的外键列

Hibernate关联关系总结_第7张图片

在Account类里面就用mappedby与对应的order形成关联

Hibernate关联关系总结_第8张图片

ManytoMany双向关联
这里的例子是:一个作者(author)有多个粉丝(followers),然后一个粉丝对应多个作者

在作者类里持有一个粉丝类的set集合,然后在get方法上进行注解配置
并生成相应的关联表

Hibernate关联关系总结_第9张图片
Hibernate关联关系总结_第10张图片

另一端粉丝端只需要使用mappedBy来形成呼应,即可完成相互关联


你可能感兴趣的:(Hibernate关联关系总结)