技术知识点:实体类,通常对应一个数据库表,实体类具有
OID,OID
与数据库中的主键对应
个人搜索:“实体类
OID
”
(
1)、区分
值
(
Value)
类
型和
实
体(
Entity)
类
型
Address类
没有
OID,
这
个是
Hibernate组
件的一个重要特征。由于没有
OID,因此不能通
过
Session来
单
独保存、更新、
删
除或加
载
一个
Address对
象。
Hibernate
把持久化
类
的属性分
为值
(
Value
)
类
型和
实
体(
Entity
)
类
型。两个最重要的区
别
在于前者没有
OID
,不能被
单
独持久化,它的生命周期依
赖
于所属的持久化
类
的生命周期,
组
件
类
型就是一
种值类
型;而
实
体
类
型有
OID
,可以被
单
独持久化。
|
l 每
个具体
类
使用一个数据
实
体:
每
个数据
实
体就既包含属性又包含它所表示的
类继
承的属性。
这种
方法最大的好
处
是,它仍然能相当容易地
执
行
专门报
告,只要您所需的有
关单
一
类
的所有数据都只存
储
在一
张
表中。但也有几个缺点。一个是当修改
类时
,必
须
修改它的表和它所有子
类
的表。第二,无
论
何
时
,只要
对
象更改了它的角色,
则
需要将数据
复
制到相
应
的
表中,并
为
它指定一个新的
OID。
这
又
涉
及到很多工作。第三,很
难
在支持多个角色的同
时
仍
维护
数据完整性。
l 每
个
类
使用一个数据
实
体:
为每
个
类创
建一
张
表,它的属性是
OID 和
特定于
该类
的属性。
这种
方法的最大好
处
就是它能
够
最好地适
应
面向
对
象的概念。它能
够
很好地支持多
态
性,
对
于
对
象可能有的
每
个角色,只需要在相
应
的表中保存
记录
。修改超
类
和添加新的子
类
也
非常容易,因
为
您只需要修改或添加一
张
表。
这种
方法也有几个缺点。第一,数据
库
中有大量的表
-- 实
际
上
每类
都有一个(加上
维护关
系的表)。第二,使用
这种
技
术读
取和写入数据的
时间
比
较长
,因
为
必
须访问
多个表。如果通
过
将
类层
次
结
构中的
每
个表放入不同物
理磁
盘驱动
器
盘
片(假
设每
个磁
盘驱动
器磁
头
都
单
独操作)上来智能地
组织
数据
库
的
话
,就可以
缓
解
这
个
问题
。第三,有
关
数据
库
的
专门报
告很困
难
,除非添加一些
视图
来模
拟
所需的表
。
|
作
为实
体
对
象要考
虑对
象生命周期,它是具有
OID标识
的,是独立唯一的,而且很
复杂
。
而
值类
型
对
象没有生命周期,本身就是没有生命的,根本不能
谈
什
么
持久化,
简单
多了
。
People
是一个
实
体
类
,代表一条
记录
。三个字段
oid
唯一
标识
符、
name
姓名、
date
生日。
具体
说
明:
1、所有系
统
功能模
块类
只
认
DataOperat
这
个接口
还
不必管具体的
实现类
是
OracleDataOperate
还
SqlserverDataOperate
。
DataOperate
源代
码
如下:
public interface DataOperate {
//
根据
记录
的唯一
标识
取出一条
记录
People getPeople(String oid);
//
插入一条
记录
boolean insertPeople(People people);
|
分享到:
相关推荐
- OID:对象标识符,是每个实体类对象的唯一标识,用于持久化存储和检索。 - Persistent:持久化类,提供基本的数据库操作,如存储、删除和更新。 - Reservation:预订类,包含书籍的标题OID、借阅者的OID和预订...
Hibernate 注解映射是 Hibernate 框架中的一种映射方式,它使用 Java 注解来描述实体类和数据库表之间的映射关系,提高开发效率。 一、 环境搭建和基本映射 在使用 Hibernate 注解映射之前,需要添加相关的 jar 包...
- **实体类的注解配置**: Hibernate 5开始支持使用注解来定义实体类,如@Entity、@Table、@Id等,这使得配置更为简洁。 3. **实体类和映射文件** - **实体类**: 定义了业务对象,通过@Entity标识为Hibernate管理...
为了能够通过 Ibatis 进行操作,我们需要定义两个实体类:`Book` 和 `User`。 **`User` 类:** ```java package com.pojo; public class User { private Integer id; private String name; private Integer book...
1. **实体类设计**:根据数据库表结构设计 Java 实体类,确保实体类包含公共无参构造函数、getter 和 setter 方法以及对象标识符(OID)属性。 2. **创建映射文件**:为每个实体类创建一个 `.hbm.xml` 文件,该...
* Borrower、Book、Title、Loan 和 Reservation 都是实体类,都是持久性的,需要存储在数据库中 * Persistent 是 Borrower、Book、Title、Loan 和 Reservation 的父类 * OID 是用于引用系统中的持久对象 五、类的...
非物理资产则更多地指代那些不以实体形式存在的资源或数据,例如虚拟化环境下的虚拟机、软件许可、知识产权等。非物理资产的具体分类及识别方式如下: 1. **虚拟设备识别**:对于虚拟化的设备或资源,通过特定的...
在Hibernate框架中,关联映射是连接不同实体类的关键技术,它允许我们以面向对象的方式处理数据库中的多表关系。根据【标题】和【描述】所示,“Hibernate 练习题”涉及的主要是对象间的级联操作和映射,这是学习...
- 持久类是Java实体类,代表数据库中的表。在示例中,`Account`类就是一个持久类,包含`oid`(对象标识符)、`acctNo`(账号)和`bal`(余额)等字段。`oid`是唯一标识符,通常由Hibernate自动生成,它不应具有业务含义。...
- 映射文件与实体类放在同一包下,文件名为实体类名加`.hbm.xml`。 - 实体类名.hbm.xml。 5. **编写主配置文件**: - 主配置文件参考`hibernate-release-5.0.7.Final\project\etc\hibernate.properties`中的配置...
**编写实体类**:定义Java实体类,用于映射数据库表。 5. **实现逻辑**:编写业务逻辑代码,包括数据库的CRUD操作。 #### 配置文件 - **文件结构**:通常配置文件包含以下几部分: - `<session-factory>`:定义...
让类或者变量的功能更明确可控制的细粒度更高,打个简单的比方:数据库里面的一张表,表中的每一个字段都有很多属性,如是否主键,默认值,注释信息等等,我们在编写实体类的时候,如何表示这些信息呢?通过自定义...
`.hbm.xml` 文件是 Hibernate 的对象-关系映射文件,它定义了实体类和数据库表之间的详细映射规则,包括字段类型、长度、主键生成策略等。例如: ```xml ``` 七、表与表的关系 Hibernate 支持...
SnmpOid类提供了处理OID的方法,如解析、比较和格式化。 6. **Trap**: Trap是设备向管理站发送的被动通知,通常用于报告异常情况。SnmpTrapV1、SnmpTrapV2c和SnmpInformRequest类分别对应SNMPv1、v2c和v3的Trap结构...
3. interprets 一个实体类上的请求运行一个执久的进程。 4. 代理一个外部代理请求。 5. 用 system 运行一个简单的命令。 6. 用共享库扩展代理。 运行主机各种监测量 SNMP 运行主机各种监测量包括: 1. CPU 使用率...
关系可以通过外键来实现,一对一关系可以通过在两个表中设置主键和外键实现,一对多和多对多关系通常需要引入中间表来存储两个实体间的关联信息。 2. 引用完整性及关系约束检查 2.1 对象之间的关系和父表操作的...
在Hibernate框架中,实体对象具有三种主要的状态:瞬时态(Transient)、持久态(Persistent)以及脱管态(Detached)。这些状态有助于理解对象与数据库之间的交互过程。 - **瞬时态**:对象尚未被持久化到数据库中...
此外,`Address`类则包含了oid、postcode和city属性,表示地址的ID、邮政编码和城市,同时有一个`act`属性指向`Account`,表示一个地址属于一个账户。在Hibernate配置文件中,这些类的属性与数据库表的列通过`...