hibernate 关联关系

来源:互联网 发布:linux视频聊天软件 编辑:程序博客网 时间:2024/06/02 05:19

在多对多的关系设计中,一般都会使用一个中间表将他们拆分成两个一对多。

<set>标签中的"table"属性就是用于指定中间表的。

中间表一般包含两个表的主键值,该表用于存储两表之间的关系。

由于被拆成了两个一对多,中间表是多方,它是使用外键关联的,<key>是用于指定外键的,用于从中间表取出相应的数据。

中间表每一行数据只包含了两个关系表的主键,要获取与自己关联的对象集合,还需要取出由外键所获得的记录中的另一个主键值,由它到对应的表中取出数据,填充到集合中。

在中间表中需要将外键设定为<many-to-one>在这个节点里需要设定对应的class属性

<many-to-many>中的"column"属性是用于指定按那一列的值获取对应的数据。因为我们获取数据的时候,都是说指定的group有哪些user,那么user就需要从对应的表中获取。

 

       在一对多的关系设计中,在一端用<set>的节点,这个节点里有<key>用来指定一端的id,还有一个<one-to-many>,这个节点中需要设定class属性,这个属性是指向多端的类。同时,在多端会有一个<many-to-one>的节点,这个节点的class属性是指向一端的类,在这个节点中会有一个<column>节点用来指定在多端对应的数据表中与一端对应的外键。


       


0 0