Hibernate之一对多关联映射
hibernate中的一对多关联映射包括单向一对多关联映射和双向一对多关联映射。下面还是通过具体的实例说一下这两种映射。
实例:
一个班级有多个学生,这样班级和学生的关系就是一对多的关系。
单向一对多关联映射
类关系图
映射文件Class.hbm.xml
注意:
这样写映射文件,实体间的关系是由一的一端维护,这样多的一端student就不知道class的存在,所以在保存student的时候关系字段classesid是为null的,如果将该关系字段设置为非空,则
将无法保存数据,另外因为student不维护关系,而class维护关系,class就会发出多余的update语句。这样效率肯定大打折扣,为了解决这一问题,我们引出双向一对多映射的概念。
双向一对多关联映射
类关系图
映射文件Class.hbm.xml
这样采用双向一对多关联映射就完美解决单向一对多关联映射所出现的问题了。