关于Hibernate的关联映射

何为关联映射

  由于数据库的表与表之间存在的管理关系,可以分为一对一,一对多和多对多关联,一般情况下,在数据库设计中是通过表的外键来建立各种关系的,在Hibernate中则把数据库表与表之间的关系数据映射成面向对象型的数据关系,即映射文件中建立表之间的关联,对表的操作就转换成了对类的对象的操作。

这里介绍下一对多关联

  一对多关联是数据库中用的最多的,例如班级和学生之间的关系,教师与学生之间的关系,部门与职工的关系等。而Hibernate就是通过这种有关联的表,在对一方进行查找时,可以通过查找多方或者是通过一方查找多方,这就是关联映射。

例如 一个班级有多个学生,而多个学生只能在一个班,因此,我们可以用一对多来描述该问题。

首先 需要两张表 分别是班级表department表和学生表user表

班级表department的结构

  字段名   数据类型   说明

学生表user的结构

接下来是外键关系

到这里 数据库的表就建好了

现在需要启动Myeclipse添加映射文件,首先新建一个onetoomany项目,然后依次添加strust和Hibernate支持(不会的童鞋可以去查看如何添加strust和Hibernate,有详细步骤和说明的哦)

 当我们添加好strust和Hibernate支持后就是这样

接下来就是打开Myeclipse的DB Browser 添加数据库的映射文件(不会的童鞋可以去查看Hibernate的添加)

接着找到我们刚才建立的数据库打开它找到dbo 打开找到TABLE 打开用CTRL选中两张表点击右键找到Hibernate Reverse Engineering 添加Hibernate如图

然后点击Finish

接着打开新建立的项目 我的是onetomany下面的dao包,如图 User表和department表的映射文件User.hbm.xml和Department.hbm.xml已经自动生成了

接下来我们需要编写一个测试类test来测试下

接下来在控制台上就可以看到结果了

还有容易被忽视的一点是在添加好映射文件后 需要分别在User.hbm.xml和Department.hbm.xml中手动添加 column="all" 如果所示

原文地址:https://www.cnblogs.com/chendongbky/p/4570024.html