Hibernate配置与实体类映射详解
需积分: 0 60 浏览量
更新于2024-08-18
收藏 1.64MB PPT 举报
"这篇文档主要介绍了Hibernate配置文件的设置,包括`hibernate.cfg.xml`文件和`User.hbm.xml`映射文件的详细内容,以及如何配置与Oracle数据库的连接,并展示了实体类User在数据库中的映射关系。"
在Java开发中,Hibernate是一个流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式来操作数据库,减少了手动编写SQL语句的工作量。在Hibernate中,配置文件起着至关重要的作用,它们定义了与数据库的连接信息以及对象和表之间的映射规则。
1. **hibernate.cfg.xml文件**:
这是Hibernate的主要配置文件,包含了数据库连接的相关信息,如:
- **dialect**:定义了使用的数据库方言,这里是`org.hibernate.dialect.Oracle9Dialect`,意味着我们正在使用Oracle 9数据库。
- **connection.url**:数据库URL,指出数据库服务器的位置和实例,如`jdbc:oracle:thin:@10.0.0.188:1521:ORCL`。
- **connection.username**和**connection.password**:用于连接数据库的用户名和密码。
- **connection.driver_class**:数据库驱动类,这里是`oracle.jdbc.driver.OracleDriver`,用于与Oracle数据库通信。
2. **映射文件(如User.hbm.xml)**:
映射文件将Java类与数据库表进行映射,定义了每个字段如何对应到数据库的列。例如,对于`User`类:
- **class元素**:指定了类`cn.jbit.houserent.bean.User`与数据库表`users`的映射,`schema="jbit"`表明该表存在于`jbit`模式下。
- **id元素**:定义了主键`id`,类型为`Long`,与数据库表的`id`字段对应。`generator`子元素用于指定主键生成策略,这里使用`native`,意味着由数据库决定主键生成方式(如自增)。
- **property元素**:表示类的属性,如`password`、`telephone`和`username`,并定义了它们在数据库表中的映射,包括长度和非空约束。
3. **主键生成策略**:
Hibernate提供了多种主键生成策略,例如:
- **increment**:适用于`long`、`short`或`int`类型的主键,通过自增来生成主键值。
- **native**:让数据库决定最适合的主键生成策略,比如对于Oracle,通常是序列(Sequences)。
- **identity**:在某些数据库系统(如MySQL)中,使用自动增长的列生成主键。
- **sequence**:使用数据库序列生成主键,适用于支持序列的数据库,如PostgreSQL和Oracle。
通过这些配置,Hibernate能够根据Java对象操作数据库,实现数据的持久化。开发者可以使用SessionFactory创建Session,然后通过Session来执行CRUD操作,而无需直接编写SQL语句,大大提高了开发效率和代码的可维护性。
2022-11-14 上传
2018-10-19 上传
2018-09-01 上传
2008-01-11 上传
2023-05-29 上传
2021-11-20 上传
2011-01-14 上传
2022-11-14 上传
2022-11-24 上传
Pa1nk1LLeR
- 粉丝: 66
- 资源: 2万+
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器