Hibernate映射文件详解:cascade关系、默认加载风格和schema配置
需积分: 9 81 浏览量
更新于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-04-23 上传
2023-06-01 上传
2023-05-28 上传
2023-07-28 上传
2023-06-01 上传
2023-06-02 上传
gz_tan2012
- 粉丝: 0
- 资源: 7
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全