`
q137681467
  • 浏览: 23004 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PO VO BEAN 理解

阅读更多

PO:

     全称是 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。

 

 

BO:

    全称是 business object:业务对象 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 比如一个简历,有教育经历、工作经历、社会关系等等。 我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。 建立一个对应简历的BO对象处理简历,每个BO包含这些PO。 这样处理业务逻辑时,我们就可以针对BO去处理。

 

VO :

     value object值对象 ViewObject表现层对象 主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。

 

DTO :

       Data Transfer Object数据传输对象 主要用于远程调用等需要大量传输对象的地方。 比如我们一张表有100个字段,那么对应的PO就有100个属性。 但是我们界面上只要显示10个字段, 客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端, 这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

 

POJO :

      plain ordinary java object 简单java对象 个人感觉POJO是最常见最多变的对象,是一个中间对象,也是我们最常打交道的对象。 一个POJO持久化以后就是PO 直接用它传递、传递过程中就是DTO 直接用来对应表示层就是VO

 

DAO:

      data access object数据访问对象 这个大家最熟悉,和上面几个O区别最大,基本没有互相转化的可能性和必要. 主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO

1
2
分享到:
评论
2 楼 hellostory 2014-03-13  
DTO 和 VO 区别?
1 楼 freezingsky 2014-03-13  
人为的根据场景和业务定义的几个说法罢了!

相关推荐

    po vo dto bo to

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

    关于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)是...

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

    本篇文章将对Java中的PO、VO、TO、BO、DAO、POJO等概念进行详细的解释,帮助读者更好地理解和应用这些技术。 PO(Persistant Object)持久对象 PO是Java中的一种重要概念,表示持久对象。在O/R映射中,PO通常对应...

    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 方法组成。它...

    java(PO,VO,BO,DAO,POJO)Explained Collection

    Java开发中,PO(Persistant Object)、VO(Value Object)、BO(Business Object)、DAO(Data Access Object)和POJO(Plain Old Java Object)是常见的五个概念,它们在软件设计和开发中扮演着不同的角色。...

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

    在Java开发中,尤其是在企业级应用中,理解并正确使用PO、POJO、VO、BO、DAO、DTO等术语至关重要。这些术语不仅代表了不同的对象类型,还反映了软件架构的不同层次和职责划分。下面,我们将详细探讨这些术语的含义、...

    bean运行时跟综实例-TOSTRING

    描述指出,这样做可以确保在不影响系统正常运行性能的前提下,提供一个方便的手段在生产环境中对问题进行非侵入式的排查,特别是针对VO(值对象)和PO(持久化对象)。 `toString()`方法是每个Java对象继承自`...

    J2EE架构数据表示:Struts+Hibernate

    在Hibernate中,有时 Persistent Object(PO)可以作为VO使用,尤其是在PO具有足够灵活性的情况下,如支持动态生成和独立于Session的状态管理。 持久层的数据表示是PO,它直接映射到数据库表,当数据库结构发生变化...

    《业务开发建议》1

    当VO继承自PO时,可以直接获取PO对象中的属性,并通过`cloneSelf`方法注入PO对象属性。例如: ```java public class TbSysUser extends PoBase<TbSysUser> { // ...属性和方法 @Override public void cloneSelf...

    结合struts和hibernate谈J2EE架构的数据表示.doc

    Hibernate作为ORM(Object-Relational Mapping)工具,允许动态生成PO,并且支持PO的状态管理,使得PO在一定程度上可以替代VO。然而,这并不意味着PO应该跨越边界进入Web层。即使Hibernate提供了这样的便利,仍然...

    Hibernate save() saveorupdate()的用法第1/2页

    一个PO有三种状态: 1、未被持久化的VO 此时就是一个内存对象VO,由JVM管理生命周期 2、已被持久化的PO,并且在Session生命周期内 此时映射数据库数据,由数据库管理生命周期 3、曾被持久化过,但现在和Session已经...

    Java项目使用小知识

    ` 这个方法用于将一个Bean对象的属性值复制到另一个Bean对象中,`po`和`vo`分别代表源Bean和目标Bean。 这两个方法在处理数据绑定或对象拷贝时非常有用,特别是在没有特定框架支持的情况下也能正常工作。 2. **...

    客户关系管理系统框架搭建(二)

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <!--表示在类路径下加载hibernate.cfg.xml --> <value>classpath:hibernate.cfg.xml ...

    Java Web开发学习路线图(JBoss Seam方向)

    4. **DAO模式**:了解DAO(Data Access Object)模式,掌握DO、PO、VO、DTO、Domain Object等术语的含义。 #### 七、企业级应用开发 1. **EJB2**:探索Enterprise JavaBeans 2.0规范,包括EntityBean和SessionBean...

    SSH(Spring+Struts+Hibernate)

    在SSH框架中,数据的流动过程通常是这样的:JSP页面上的表单数据提交到Action,Action从ActionFormBean中获取数据,封装成VO(Value Object,值对象)或PO(Persistent Object,持久对象),然后调用Service层的方法...

    SSH详细简介

    Action接受用户的数据,Action将数据从Action中取出,封装成VO或PO,再调用业务层的Bean类,完成各种业务处理后再forward。而业务层Bean收到这个PO对象之后,会调用DAO接口方法,进行持久化操作。 SSH框架是由...

    Apache Commons工具集简介.docx

    如果做分层架构开发的话就会用到,比如从 PO(Persistent Object)拷贝数据到 VO(Value Object)。 在传统方法中,我们需要手动赋值每个属性,例如: ```java // 得到 TeacherForm TeacherForm teacherForm = ...

    Hibernate开发指南

    此外,还讲解了一对一、一对多和多对多等数据关联的实现方式,以及PO(Persistent Object)和VO(Value Object)的区别,深入理解了`unsaved-value`、`inverse`和`cascade`属性的作用,以及延迟加载(Lazy Loading)...

    设计文档模板-java开发.doc

    - **Façade模式**:用于简化系统接口,例如,新增和修改操作不直接使用PO(Plain Old Java Object)或VO(Value Object)作为参数。 - **Service层**:使用`@Service`和`@Transactional`注解,确保服务类具有事务...

Global site tag (gtag.js) - Google Analytics