Hibernate学习笔记1 -- VO与PO

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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的属性是跟数据库表的字段一一对应的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航