问题描述
- Hibernate中双向关联和单向关联的意思是什么?
-
有老师,学生两个bean,
双向关联就是需要在两个bean的xml文件中都写入关系,例如many to many
单项关联只需要在老师的一方或者学生的一方的配置文件中写入关系即可使用,例如one to many或者many to one
解决方案
这个是关系型数据库中实体之间的关系
1对1
1对多
多对1
多对多
其中的多对多要进行拆分,拆成1对多和多对1
关系的描述就是如何去设置这个主键和外键
1对多的关系可以描述为一个表中有2个域作为一个联合主键
多对多就是1对多和多对1的拆分
往往做一个中间的表这个表的主键就是那个1 对应的表中的主键,将他们拿出来新做一张表
hibernate中的ORM使用这个对象javabean描述的
一张表就是一个javabean
外键就是描述为子对象
解决方案二:
关联,表与表间互相存在映射关系,比如表A的a列对应表B的b列,反之也存在对应关系,而这样的对应关系可以划分为一对一,一对多或多对一,以及多对多。而hibernate的双向关联关系机制可以允许用户通过相应配置为自己的实体对象建立起与表间关系相同的关联关系。当你操作其中一个实体对象时,hibernate会自动根据你设置好的关联关系去验证你的操作的合法性或联动操作存在关联的实体对象。
数据表之间的关联关系,反映到Java的面向对象领域来说,就是对象之间相互引用。单项管理就是对应的Java对象中,ObjectA,ObjectB存在关联关系,但是只有ObjectA对象包含一个ObjectB对象的成员属性,而ObjectB仅仅是自己的属性,而没有引用ObjectA。
时间: 2024-08-22 12:42:34