一本正经教你配置Hibernate框架下的.hbm.xml文件的映射关系
2017-10-28 14:08
465 查看
关于属性之间的相互映射(一对多,多对一,多对多)的解决
前提是所有的类和配置文件都在一个包下(一般为domain包)
class Subject{ class Teacher{ class Student{
... ... ...
Teacher tea; Subject sub; Teacher tea;
... Student stu ;
... ...
} } }
[b][b]1.一对多:(一门学科对应多名教师)[/b]
[/b]
Subject.hbm.xml:
...
<set name = "该文件名所对应类中“多”的属性"(此处即为tea)>
<key column="外键名(一般为属性+Id)" />
<one-to-many class="name中的属性对应的类名(此处即为Teacher)" />
</set>
...
2.多对一:(多名教师对应一门学科)
Teacher.hbm.xml
...
<many-to-one name = "[b]该文件名所对应类中“多”的属性(此处即为sub)" class="name中的属性对应的类名(此处即为Subject)"
column="外键名(一般为属性+Id)" />
[/b]
...
注意:蓝色字的地方的两个名字必须要完全一致。
3.多对多:(多名教师与多名学生对应)(有一点麻烦)
Student.hbm.xml
...
<set name="类Student中所对应的属性(即为tea)" table="中间表(table_tea_stu)">
<key column="[b][b]外键名(一般为属性+Id)[/b]" />
[/b]
<many-to-many class="类Student中所对应的属性所对应的类(即为Teacher)"
column="[b][b][b]外键名(一般为属性+Id)[/b][/b]"
/>
[/b]
</set>
...
Teacher.hbm.xml
...
<set name="[b]类Teacher中所对应的属性(即为stu)"table="中间表(table_tea_stu)">[/b]
<key column="[b][b][b][b][b][b][b]外键名(一般为属性+Id)[/b][/b][/b][/b][/b][/b]"
/>
[/b]
<many-to-many class="类Techer中所对应的属性所对应的类(即为Student)"
column="[b][b][b][b]外键名(一般为属性+Id)[/b][/b][/b]"
/>[/b]
</set>
...
在多对多的情况下产生两组外键,两种颜色的外键名要一一对应完全一致才能确保映射成功。
前提是所有的类和配置文件都在一个包下(一般为domain包)
class Subject{ class Teacher{ class Student{
... ... ...
Teacher tea; Subject sub; Teacher tea;
... Student stu ;
... ...
} } }
[b][b]1.一对多:(一门学科对应多名教师)[/b]
[/b]
Subject.hbm.xml:
...
<set name = "该文件名所对应类中“多”的属性"(此处即为tea)>
<key column="外键名(一般为属性+Id)" />
<one-to-many class="name中的属性对应的类名(此处即为Teacher)" />
</set>
...
2.多对一:(多名教师对应一门学科)
Teacher.hbm.xml
...
<many-to-one name = "[b]该文件名所对应类中“多”的属性(此处即为sub)" class="name中的属性对应的类名(此处即为Subject)"
column="外键名(一般为属性+Id)" />
[/b]
...
注意:蓝色字的地方的两个名字必须要完全一致。
3.多对多:(多名教师与多名学生对应)(有一点麻烦)
Student.hbm.xml
...
<set name="类Student中所对应的属性(即为tea)" table="中间表(table_tea_stu)">
<key column="[b][b]外键名(一般为属性+Id)[/b]" />
[/b]
<many-to-many class="类Student中所对应的属性所对应的类(即为Teacher)"
column="[b][b][b]外键名(一般为属性+Id)[/b][/b]"
/>
[/b]
</set>
...
Teacher.hbm.xml
...
<set name="[b]类Teacher中所对应的属性(即为stu)"table="中间表(table_tea_stu)">[/b]
<key column="[b][b][b][b][b][b][b]外键名(一般为属性+Id)[/b][/b][/b][/b][/b][/b]"
/>
[/b]
<many-to-many class="类Techer中所对应的属性所对应的类(即为Student)"
column="[b][b][b][b]外键名(一般为属性+Id)[/b][/b][/b]"
/>[/b]
</set>
...
在多对多的情况下产生两组外键,两种颜色的外键名要一一对应完全一致才能确保映射成功。
相关文章推荐
- Hibernate框架中hibernate.properties属性文件,hibernate.cfg.xml配置文件,以及Users.hbm.xml映射文件的配置
- SSH:Hibernate框架(关系映射及基本配置)
- SSH:Hibernate框架(Hibernate继承关系映射及配置)
- Hibernate框架学习之注解配置关系映射
- hibernate配置文档常用配置、hbm配置文件(对象-关系映射)的基本配置
- Hibernate使用hbm.xml配置映射关系解析
- Hibernate框架中在.hbm.xml映射文件中配置表与表之间的关联关系
- 用xxx.hbm.xml映射文件配置的hibernate实例
- Hibernate框架学习(三) 关系映射
- 持久化对象的状态、Hibernate配置文件、映射对象标识符 、 映射组成关系 、 Hibernate把持久话类的属性分为两种
- Hibernate的映射配置文件*.hbm.xml文件中class和property元素的各属性意义和设置
- 【HIbernate框架学习】:Hibernate对象继承关系映射(一)
- SSH:Hibernate框架(七种关联关系映射及配置详解)
- 详谈Hibernate框架关系映射!
- hibernate使用注解配置映射关系
- SSH:Hibernate框架(七种关联关系映射及配置详解)
- Hibernate实体关系关联映射中配置文件的编写
- Hibernate框架详解(三)框架中的关系映射
- [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
- Hibernate关系配置之多对多映射配置