PO :persistent object持久对象 
1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。 
2 .在hibernate持久化框架中与insert/delet操作密切相关。 
3 .PO中不应该包含任何对数据库的操作。

POJO :plain ordinary java object 无规则简单java对象 
一个中间对象,可以转化为PO、DTO、VO。 
1 .POJO持久化之后==〉PO 
(在运行期,由Hibernate中的cglib动态把POJO转换为PO,PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。PO对于programmer来说完全透明,由于是运行期生成PO,所以可以支持增量编译,增量调试。) 
2 .POJO传输过程中==〉DTO 
3 .POJO用作表示层==〉VO 
PO 和VO都应该属于它。

BO :business object 业务对象 
封装业务逻辑为一个对象(可以包括多个PO,通常需要将BO转化成PO,才能进行数据的持久化,反之,从DB中得到的PO,需要转化成BO才能在业务层使用)。 
关于BO主要有三种概念 
1 、只包含业务对象的属性; 
2 、只包含业务方法; 
3 、两者都包含。 
在实际使用中,认为哪一种概念正确并不重要,关键是实际应用中适合自己项目的需要。

VO :value object值对象 / view object表现层对象 
1 .主要对应页面显示(web页面/swt、swing界面)的数据对象。 
2 .可以和表对应,也可以不,这根据业务的需要。 
注 :在struts中,用ActionForm做VO,需要做一个转换,因为PO是面向对象的,而ActionForm是和view对应的,要将几个PO要显示的属性合成一个ActionForm,可以使用BeanUtils的copy方法。

DTO (TO) :Data Transfer Object数据传输对象 
1 .用在需要跨进程或远程传输时,它不应该包含业务逻辑。 
2 .比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO 内的数据来自多个表)。但view层只需显示10个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这10个属性的DTO来传输数据到client,这样也不会暴露server端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。

DAO :data access object数据访问对象 
1 .主要用来封装对DB的访问(CRUD操作)。 
2 .通过接收Business层的数据,把POJO持久化为PO。

PO/VO/BO等对象模型相关推荐

  1. JavaEE PO VO BO DTO POJO DAO 整理总结(转)

    阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 ...

  2. JavaEE PO VO BO DTO POJO DAO 整理总结

    阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 ...

  3. PO VO BO DTO POJO DAO(转)

    2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业的新人来说更是摸不清头脑.若与公司大牛谈技术人家出口就是PO VO BO DTO POJO DAO 等,让新人们无比仰慕大牛. 为了让新人快 ...

  4. java po vo bo是什么以及_JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么

    (一)O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据. 在O/R Mapping的世界 ...

  5. JSP PO VO BO DTO POJO DAO解释

    PO :persistent object持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录. 2 .在hibernate持久化框架中与i ...

  6. java中几种常用的对象类型(po,vo,bo,dto)

    PO(persistant object) 1.持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了.   2.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看 ...

  7. PO/VO/BO和POJO概念

    PO:persistent object 持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录. 2 .在hibernate持久化框架中与i ...

  8. java qo_Java中DAO/DTO/PO/VO/BO/QO/POJO

    ORM:是Object Relational Mapping(对象关系映射)的缩写. 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R/M的世界里,有两个基本的也是重要的东东需要了 ...

  9. Java基础 - AO BO DO PO VO DAO DTO POJO

    Java基础 - AO BO DO PO VO DAO DTO POJO AO Application Object 应用对象. 在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复 ...

最新文章

  1. Poj(2488),按照字典序深搜
  2. python-GUI,生成ssn
  3. 细节决胜 盘点IBM x86平台虚拟化优势
  4. 关于windows注册表重定向和虚拟化分析
  5. BZOJ 2957: 楼房重建
  6. python中遍历结构可以是哪些数据类型_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...
  7. 从C/C++零基础到月入9K我用了9个月
  8. 6-8 先序输出叶结点 (15 分)
  9. 雷军:智能制造将进一步带动中国企业在全球市场的全面崛起
  10. 漫画《灌篮高手》将拍电影?井上雄彦发文确认
  11. 关于举办“全国大学生大数据技能竞赛”的通知
  12. Selenium 显示等待和隐式等待
  13. SQL Server 启动错误 系统找不到指定的文件/路径
  14. USB转串口设备如何固定串口号
  15. PHP将GD库生成的图片输出到字节流及创建临时文件
  16. DR,TUN,NAT优缺点
  17. java读取excel数据的方法是_Java读写Excel文件中数据的简便方法
  18. Springboot项目启动异常 org.springframework.beans.factory.UnsatisfiedDependencyException
  19. 硬盘无法访问设备未就绪,里面的数据怎么找回
  20. 机器学习之DBSCAN算法

热门文章

  1. vue.js之过渡效果-css
  2. 理解Load Average做好压力测试
  3. 在Unity中为模型使用表情
  4. C#.NET高级面试题
  5. linux内存布局的内核实现--用户空间的映射方式
  6. LuoguP2756 飞行员配对方案问题(最大流)
  7. javascript date utc
  8. loj10036. 「一本通 2.1 练习 2」Seek the Name, Seek the Fame
  9. 跨程序提供及获取内容
  10. Angular2 管道