O/R Mapping -- Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据绑定,用对象来表示关系数据。如图:
VO -- Value Object 值对象。
PO -- Persisent Object 持久对象。
它们的基本形式和写法如下:
public class User {
private String id;
private String name;
public void setId(String argId) {
this.id = argId;
}
public String getId() {
return this.id;
}
public void setName(String argName) {
this.name = argName;
}
public String getName() {
return this.Name;
}
}
虽然它们的形式与写法基本相同,但意义却大不相同。
1.VO是用new关键字创建,由GC回收的。
PO是向数据库中添加新数据时创建,删除数据库中数据时删除的。并且它只能存活在一个数据库连接中,当连接断开时,将被销毁。
2.VO是值对象,精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。
PO是有状态的,每个属性代表其当前的状态。它是物理数据的对象表示。使用它,可以使我们的程序与物理数据解耦,并且可以简化对象数据与物理数据之间的转换。
3.VO的属性是根据当前业务的不同而不同的,也就是说,它的每一个属性都一一对应当前业务逻辑所需要的数据的名称。
PO的属性是跟数据库表的字段一一对应的。
- 大小: 24.4 KB
分享到:
相关推荐
POJOs被广泛用于表示业务实体,可以作为ORM(对象关系映射)框架如Hibernate、MyBatis中的数据模型。 2. PO(Persistent Object):持久化对象,正如其名,是用来表示数据库中表的行的Java对象。当数据库表的一行被...
4. **映射文件**:在使用ORM(Object-Relational Mapping)框架时,PO对象与数据库表的映射信息通常会写在XML配置文件或注解中。例如,在Hibernate中,可以使用`@Entity`注解来标记一个类为数据库实体,并用`@Id`...
在IT行业中,尤其是在Java开发领域,我们经常遇到“VO”、“BO”和“PO”这样的术语,它们分别代表了Value Object、Business Object和Persistent Object。理解这三个概念对于编写清晰、可维护的代码至关重要。 首先...
在ORM(Object-Relational Mapping)框架如Hibernate中,PO常被用来作为与数据库交互的对象。 2. POJO(Plain Old Java Object,普通旧式Java对象) POJO是一个普通的Java类,没有特定的约束或框架依赖。它被广泛...
持久对象(Persistent Object,简称PO),主要用于与数据库中的表进行映射。一个简单的PO对象可以代表数据库表中的一条记录,而多个记录则可以通过PO的集合来表示。需要注意的是,PO对象本身不应该包含任何数据库...
在IT行业中,自身关联是一种常见的数据库设计技巧,用于表示一个实体可以与其...在实际开发中,这种设计允许构建复杂的数据结构,如树形菜单或权限系统,同时PO到VO的转换是数据层和业务层交互中常见的数据处理方式。
Java开发中,PO(Persistant Object)、VO(Value Object)、BO(Business Object)、DAO(Data Access Object)和POJO(Plain Old Java Object)是常见的五个概念,它们在软件设计和开发中扮演着不同的角色。...
在Hibernate中,有时 Persistent Object(PO)可以作为VO使用,尤其是在PO具有足够灵活性的情况下,如支持动态生成和独立于Session的状态管理。 持久层的数据表示是PO,它直接映射到数据库表,当数据库结构发生变化...
- **PO (Persistence Object)**:持久层的对象,用于表示与数据库表相对应的Java对象。 - **VO (Value Object)**:值对象,主要用于不同层之间传递数据。 #### Hibernate的基本使用流程 - **环境配置:** - ...
- 经过Hibernate容量处理后的VO变成了PO,该VO引用将被容器保存并在`session`关闭时`flush`。 - VO与PO之间的相互转换可以使用`BeanUtils.copyProperties()`方法实现。 #### 十、延迟加载与非延迟加载 - **延迟...
“Hibernate高级特性”章节则进一步探讨了XDoclet与Hibernate映射、数据检索(包括CriteriaQuery和HQL)、数据关联(如一对一、一对多、多对多关系处理)、数据访问(PO和VO的使用)、事务管理、锁机制、分页、缓存...
文档还详细解释了如何处理各种类型的数据关联,包括一对一、一对多和多对多关系,以及如何有效地管理PO(Persistent Object)和VO(Value Object)。此外,还讨论了unsaved-value、Inverse和Cascade等概念,以及延迟...
- **PO (Persistent Object)**: 持久化对象,用于表示数据库中的行。 - **VO (Value Object)**: 值对象,用于封装业务逻辑中的数据。 #### 十一、事务管理 - **基于JDBC的事务管理**: 直接使用JDBC API进行事务控制...
Transient和Detached状态的对象统称为VO(Value Object),不被Hibernate管理,而Persistent对象被称为PO(PersistentObject),由Hibernate的实体管理容器管理,其变更会在事务提交时同步到数据库。 其次,实体...
Hibernate作为ORM(Object-Relational Mapping)工具,允许动态生成PO,并且支持PO的状态管理,使得PO在一定程度上可以替代VO。然而,这并不意味着PO应该跨越边界进入Web层。即使Hibernate提供了这样的便利,仍然...
以上内容总结了Hibernate使用过程中的一些重要技巧和注意事项,包括配置文件的选择与使用、实体关系管理、延迟加载策略以及与Spring框架的集成等关键知识点。通过掌握这些技巧,开发者可以更高效地利用Hibernate框架...