hibernate关联关系查询
2024-08-30 22:29:25
关联关系
一对一 A中包含B的对象,B中包含A的对象
一对多 A中包含B的集合,B中包含A的对象
多对多 A中包含B的集合,B中包含A的集合
1,一对多配置
一名老师可以对应多名学生
2,模型类
老师类中包含学生的集合(通常可以将集合直接进行初始化)
学生类中包含老师的对象
3,配置
TeacherModel.hbm.xml(教师)
<hibernate-mapping package="cn.itcast.h3.realtion.one2many.vo" >
<class name="TeacherModel" table="tbl_teacher">
<id name="uuid">
<generator class="native"/>
</id>
<property name="teacherName"/>
<property name="nick"/>
<!-- name:集合对象名 -->
<set name="students">
<!-- 使用key描述对应的关系表中的外键字段 -->
<!-- column:外键字段名(student表中) -->
<key column="teacherUuid"/>
<!-- 使用one-to-many配置关联关系 -->
<!-- class:配置对应的关系模型类 -->
<one-to-many class="cn.itcast.h3.one2many.StudentModel"/>
</set>
</class>
</hibernate-mapping>
注意:key元素必须出现在one-to-many元素的前面,否则报错
StudentModel.hbm.xml(学生)
<hibernate-mapping package="cn.itcast.h3.realtion.one2many.vo" >
<class name="StudentModel" table="tbl_student">
<id name="uuid">
<generator class="native"/>
</id>
<property name="studentName"/>
<property name="className"/>
<!-- 配置多对一关系中的一方对象 -->
<!-- many-to-one描述多对一关系 -->
<!-- name:对象名 -->
<!-- column:外键字段名(student表中) -->
<!-- class:配置对应的关系模型类 -->
<many-to-one
name="teacher"
column="teacherUuid"
class="cn.itcast.h3.one2many.TeacherModel"
/>
</class>
</hibernate-mapping>
4,资源注册
<mapping resource="cn/itcast/h3/one2many/vo/StudentModel.hbm.xml"/>
<mapping resource="cn/itcast/h3/one2many/vo/TeacherModel.hbm.xml"/>
5,备注:
两边的配置也可以只配置一方,
如果仅仅配置老师可以通过老师找到学生,但是不能通过学生找到老师
如果只配置学生可以通过学生找到老师,但是不能通过老师找到学生
最新文章
- Android+jsp +html 文件上传案例 已测试 成功通过
- 简介python2.x的编码
- 斯坦福第十六课:推荐系统(Recommender Systems)
- ios7下不能录音问题解决
- unknown software exception
- WordPress 主题开发 - (六) 创建主题函数 待翻译
- pl/sql programming 15 数据提取
- 使用 Redis 统计在线用户人数
- 五、 创建连接串连接本地数据库(ASP.NET MVC5 系列)
- Dubbo应用文档
- css绘制倒三角
- CF374 Journey
- for循环输出空心菱形的形状【java】
- std::lock_guard/std::unique_lock
- ionic使用iframe时无法显示网页或报错
- 自学Python3.2-函数分类(内置函数)
- [学习笔记]min_25筛
- ROS launch 文件的编写
- [label][翻译][JavaScript Regular Expression]JavaScript Regular Expressions
- 安装ecb