Hibernate映射文件详解:cascade关系、默认加载风格和schema配置
需积分: 9 13 浏览量
更新于2024-09-15
1
收藏 57KB DOC 举报
Hibernate 映射文件详解
Hibernate 映射文件是 Hibernate 框架中一个非常重要的组件,用于定义对象关系型数据库(Object-Relational Mapping,ORM)中对象与数据库表之间的映射关系。在 Hibernate 中,映射文件通常以 `.hbm.xml` 结尾,用于描述对象与数据库表之间的映射关系。
**级联(Cascade)关系**
级联关系是 Hibernate 映射关系中一个非常重要的概念。它指的是当主控方执行操作时,关联对象(被动方)是否同步执行同一操作。例如,当用户(TUser)被更新或者删除时,其所关联的组(TGroup)不应被修改或者删除,因此,级联关系设置为 none。当设为 all 时,一旦删除了一个 TGroup,所有在这个 TGroup 内的用户都会被删除。
在 Hibernate 中,级联关系可以设置为以下几种:
* all:所有情况下均进行级联操作。
* none:所有情况下均不进行级联操作。
* save-update:在执行 save-update 时进行级联操作。
* delete:在执行 delete 时进行级联操作。
**映射文件的基本结构**
一个基本的 Hibernate 映射文件通常包括以下几个部分:
* `hibernate-mapping`:根元素,用于指定 Hibernate 映射文件的版本和 schema 名称。
* `default-access`:用于指定 Hibernate 用来访问属性的策略,默认为 `property`。
* `default-lazy`:用于指定未明确注明 lazy 属性的 Java 属性和集合类,默认为 `true`。
* `schema`:用于指定映射的表所在的 schema 名称。
* `default-cascade`:用于指定默认的级联风格,默认为 `none`。
* `auto-import`:用于指定是否在查询语言中可以使用非全限定名的类名,默认为 `true`。
* `package`:用于指定一个包前缀。
**unsaved-value**
unsaved-value 是一个可选的属性,用于指定一个特定的标识属性值,用来标志该实例是刚刚创建的,尚未保存。这可以把这种实例和从以前的 session 中装载过(可能又做过修改)但未再次持久化的实例区分开来。
在 Hibernate 中,unsaved-value 可以设置为一个字段判断(sensible)的值,例如,使用一个 timestamp 字段来标志实例的创建时间。
**总结**
Hibernate 映射文件是一个非常重要的组件,用于定义对象与数据库表之间的映射关系。级联关系是 Hibernate 映射关系中一个非常重要的概念,用于指定当主控方执行操作时,关联对象(被动方)是否同步执行同一操作。映射文件的基本结构包括 `hibernate-mapping`、`default-access`、`default-lazy`、`schema`、`default-cascade`、`auto-import` 和 `package` 等部分。unsaved-value 是一个可选的属性,用于指定一个特定的标识属性值,用来标志该实例是刚刚创建的,尚未保存。
2012-01-13 上传
2017-01-04 上传
2023-07-28 上传
2023-06-10 上传
2023-11-28 上传
2023-09-03 上传
2024-11-15 上传
2023-08-19 上传
gz_tan2012
- 粉丝: 0
- 资源: 7
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查