在Hibernate中对象之间的关联关系表现为数据库中表于表之间的关系(表之间通过外键关联)。

1 单向的一对一

  主键关联

    外键关联

2 单向的一对多

3 单向的多对一

4 单向的多对多

5 双向的一对一

  主键关联

   外键关联

6 双向的一对多

7 双向的多对多

(双向和单向的区别:

单向是用hql查询时只能从一方得到另一方的信息,双向则是从另一方也能得到这一方的信息,但在数据库里,是没有区别的。
举个例子:有个user表,还有个group表,它们是多对一关系。在数据库里,user表会有一个group_id字段,是个外键,用来指向group表的id,但在实体类里,如果你只配了多对一单向,即只配置了user表里的多对一关系,那你查询的时候可以这样查,select u.group from User u where u.name="张三",但你不能这样查 ,select g.users from Group g where g.name="管理员" 。 如果你设置了双向关联,则这两种写法都可以查)

05-11 15:39