`
kang
  • 浏览: 474518 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

POVO

阅读更多

<!-- --><!-- --> <!-- -->

 

PO VO 的概念,又引申出一些系统层次设计方面的问题。如在传统的 MVC 架构中,位于 Model 层的 PO ,是否允许被传递到其他层面。由于 PO 的更新最终将被映射到实际数据库中,如果 PO 在其他层面(如 View 层)发生了变动,那么可能会对 Model 层造成意想不到的破坏。

 

因此,一般而言,应该避免直接将 PO 传递到系统中的其他层面,一种解决办法是,通过构造一个新的 VO ,通过属性复制使其具备与 PO 相同的属性值,并以其为传输媒质(实际上,这个 VO 被用作 Data Transfer Object ,即所谓的 DTO ),将此 VO 传递给其他层面以实现必须的数据传送。

 

属性复制可以通过 Apache Jakarta Commons Beanutils http://jakarta.apache.org/commons/beanutils/ )组件提供的属性批量复制功能,避免繁复的 get/set 操作。

 

 

看到这段,让我想起了 Struts 中的 Form Bean ,以前一直很疑惑几乎差不多一样的 JavaBean 文件为什么要写两个,还使用 Beanutils 将属性拷来拷去。现在好像明白了, Bean 可以认为是 PO Form 可以认为是 VO

 

 

(20090506追加):

   一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。

   二、VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对 应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。

 

 

分享到:
评论

相关推荐

    Java中 PO VO BO DTO DAO 和 POJO 关系图

    Java中 PO VO BO DTO DAO 和 POJO 关系图

    Oracle 自动生成POVO工具

    Oracle 自动化生成POJO(Plain Old Java Object)与VO(Value Object)工具,简称POVO工具,是一种提高开发效率的实用程序。在Java开发中,POJO和VO类经常被用于数据传输和持久化层,它们是业务逻辑和数据模型之间的...

    po vo dto bo to

    ### Java中的PO、VO、TO、BO、DAO与POJO详解 #### 一、概述 在Java企业级应用开发中,经常会遇到各种类型的对象,如PO、VO、TO、BO、DAO以及POJO等。这些对象各有侧重,在系统架构的不同层次扮演着不同的角色。...

    vopo转换工具类及所需jar

    "vopo转换工具类及所需jar"是一个特定的项目,它提供了一个简单的方法来处理名为"vopo"的数据格式之间的转换。这个工具包可能包含了一些核心的类和依赖的库,使得开发者能够便捷地实现这种转换操作。 首先,`...

    别再用 BeanUtils 了,这款 PO VO DTO 转换神器不香么?.zip

    计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习...

    Java的几种对象(PO-VO-DAO-BO-POJO)解释

    ### Java的几种对象详解:PO-VO-DAO-BO-POJO #### 一、PO:Persistant Object(持久对象) 持久对象(Persistent Object,简称PO),主要用于与数据库中的表进行映射。一个简单的PO对象可以代表数据库表中的一条...

    基于java中的PO VO DAO BO POJO(详解)

    在Java开发中,特别是在企业级应用领域,有几种常见的对象模型,它们分别是PO(Persistent Object)、VO(Value Object)、DAO(Data Access Object)、BO(Business Object)和POJO(Plain Old Java Object)。...

    po与vo区别.doc

    在Java开发领域,尤其是涉及到Spring框架以及数据持久化时,我们常常会遇到“PO”(Plain Old Java Object)和“VO”(Value Object)这两个概念。它们都是Java对象,但各自有不同的用途和特点。理解它们的区别对于...

    关于VO、PO的理解——java的(PO,VO,TO,BO,DAO,POJO)解释

    "关于VO、PO的理解——java的(PO,VO,TO,BO,DAO,POJO)解释" 在 Java 中,PO、VO、TO、BO、DAO、POJO 是六个重要的概念,它们之间存在着紧密的关系,本文将对它们进行详细的解释。 首先,PO(Persistent Object)是...

    SPB-XSL16温度巡检仪英文版.pdf

    SPB-XSL16温度巡检仪是一款适用于测量、报警和转发热电偶和RTD(电阻温度探测器)信号的智能型电路测量温度仪器。它能够处理2至16个通道的信号。该设备的基本内在误差小于0.2%,指示范围为-1999至9999。...

    Java的(PO,VO,TO,BO,DAO,POJO)解释

    "Java的(PO,VO,TO,BO,DAO,POJO)解释" Java作为一门流行的编程语言,在软件开发中扮演着重要角色,其中一些关键概念和技术为开发者提供了方便快捷的开发体验。本篇文章将对Java中的PO、VO、TO、BO、DAO、POJO等概念...

    自身关联的添加、检索及PO到VO得封装、转换

    在实际应用中,如果需要更精细的分离,可能会有专门的VO类,将PO转换成VO是为了适应业务需求,例如添加额外的业务逻辑属性或者隐藏敏感信息。 总结起来,这个例子展示了如何在Java中使用Hibernate处理自身关联的...

    JAVA中的POJO、VO、PO、DO、DTO都是什么?有什么区别?

    以下是关于POJO、VO、PO、DO、DTO的详细解释及其区别。 1. POJO(Plain Old Java Object):POJO是一个通用术语,指没有特定框架限制的简单Java对象。它通常包含了业务逻辑和数据属性,不包含任何特定框架的注解或...

    bo,vo,po的区别

    在IT行业中,尤其是在Java开发领域,我们经常遇到“VO”、“BO”和“PO”这样的术语,它们分别代表了Value Object、Business Object和Persistent Object。理解这三个概念对于编写清晰、可维护的代码至关重要。 首先...

    java术语(PO/POJO/VO/BO/DAO/DTO)

    本文将详细解析"PO/POJO/VO/BO/DAO/DTO"这六个概念,并探讨它们在实际项目开发中的作用和应用场景。 1. PO(Persistent Object,持久化对象) PO是指与数据库表结构一一对应的Java对象,它通常包含了数据库表中的...

    响应式旅游在线预订网站HTML模板

    Povo是响应式的旅游在线预订网站HTML模板,2个精美的首页UI/UX设计,模板是建立在Bootstrap4.3.1和CSS上。可用于任何类型的旅游业务网站,包括城市旅游、旅行社、出国旅行、蜜月旅行、酒店预订、旅游博客等。开发者...

    Zeushype

    Brizas-botéum bot组成了 que foi modificado e diversos comandos que foram desenvolvidoprincipmente para satisfazer o povo brasileiro,com gerador decidadão,CPF,e CC,e muito mais,embrado uzuz ...

    jogo-resilia:Procurto do primeiromódulodo Curso Vamo AI RESILIA + IFOOD

    Vocêarriscaria confiar nos seus maiores inimigos troco de salvar o seu povo? 哈德卡达斯维达国家时代的雷诺·德·夸梅。 就像巴尔多斯的历史遗迹和历史遗迹一样。 就像传统的塔布纳斯·阿比利亚瓦姆·...

    java中PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn的理解

    Java 中 PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn 的理解 PO(Persistent Object):持久对象,指的是在 O/R Mapping 中将对象与关系数据库绑定的对象。PO 是由一组属性和属性的 get 和 set 方法组成。它...

Global site tag (gtag.js) - Google Analytics