欢迎来到天天文库
浏览记录
ID:37913305
大小:177.50 KB
页数:12页
时间:2019-06-02
《hibernate关联关系》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、hibernate入门(七)关联关系讨论_多对多关系映射文章分类:Java编程典型实例:一个学生可以有多个老师,同样一个老师可以有多个学生,对此设计如下:学生studnet表:columnidnameteachers老师teacher表:columnidnamestudnets在利用学生查到他所有的老师,我们一般会设计中间表,来查找,中间表用来把学生和老师关联,通过此表进行学生和老师之间的交互查找。中间表teacher_student:columnteacher_idstudnet_id复合主键在数据库操作中,作以下
2、说明:如果通过老师查找学生,过程:先通过teacher表查找到id,再到teacher_student表中以teacher.id==teacher_student.teacher_id为查询条件来查找studnent_id,查找到studnet_id后,再以teacher_student.stucent_id==student.id为查询条件来查找所有学生的信息。同样通过学生查老师,也是类似的过程。>>步骤一、创建实体类Student、TeacherStudent类内容如下:省略getXXX()、setXXX()方法
3、。packagecom.asm.hibernate.domain;importjava.util.Set;publicclassStudent{privateintid;privateStringname;privateSetteachers;}Teacher类内容如下:省略getXXX()、setXXX()方法。packagecom.asm.hibernate.domain;importjava.util.Set;publicclassTeacher{privateintid;privateStr
4、ingname;privateSetstudents;}>>步骤二、为两个实体创建配置文件(省略了前面的xml文档声明内容):Student.hbm.xml内容如下:5、table="teacher_student">说明:这里重点说明最后的配置:(1)Student中Set类型的属性配置一个元素,其实在前面的一对多中已经出现了元素的配置,我们可以这样认为“凡是要为某个Set类型的属性进行映射配置,都可以用元素来配置”。中6、的table属性为关联表的名称。(2)它的子元素中的column为关联表中以该映射文件所映射的表的主键为外键的字段名称.(3)coumn属性为关联表中以欲关联类对应表的主键为外键的字段名称。Teacher.hbm.xml内容如下:7、name="name">由于和Student.hbm.xml是类似的,这里不作说明,这样也就建立起了双向的多对多关联。要注意他们所依赖的中间表为teacher_student,所以这里的元8、素中的table属性和teacher映射文件相同,而特别要注意和中column中属性值的设定。>>步骤三、在主配置文件中关联实体配置文件:只需要增加如下内容:
5、table="teacher_student">说明:这里重点说明最后的配置:(1)Student中Set类型的属性配置一个元素,其实在前面的一对多中已经出现了元素的配置,我们可以这样认为“凡是要为某个Set类型的属性进行映射配置,都可以用元素来配置”。中
6、的table属性为关联表的名称。(2)它的子元素中的column为关联表中以该映射文件所映射的表的主键为外键的字段名称.(3)coumn属性为关联表中以欲关联类对应表的主键为外键的字段名称。Teacher.hbm.xml内容如下:7、name="name">由于和Student.hbm.xml是类似的,这里不作说明,这样也就建立起了双向的多对多关联。要注意他们所依赖的中间表为teacher_student,所以这里的元
7、name="name">
8、素中的table属性和teacher映射文件相同,而特别要注意和中column中属性值的设定。>>步骤三、在主配置文件中关联实体配置文件:只需要增加如下内容:
此文档下载收益归作者所有