vo和pojo
pojo直接描述数据库中的表和字段,一一对应
vo的话,可以多添加些属性,比如code对应的name,或者标识符等等
查询列表的时候也可以直接用vo,但是修改或添加记录必须是pojo
QueryVo 包含其它pojo,pojo是包装对象
vo与po的区别:
1.VO是用new关键字创建,由GC回收的。
PO是向数据库中添加新数据时创建,删除数据库中数据时删除的。
并且它只能存活在一个数据库连接中,当连接断开时,将被销毁。
2.VO是值对象,精确点讲它是业务对象,是存活在业务层的,是业务
逻辑使用的,它存活的目的就是为数据提供一个生存的地方。
PO是有状态的,每个属性代表其当前的状态。它是物理数据的对象
表示。使用它,可以使我们的程序与物理数据解耦,并且可以简化
对象数据与物理数据之间的转换。
3.VO的属性是根据当前业务的不同而不同的,也就是说,它的每一个
属性都一一对应当前业务逻辑所需要的数据的名称。
PO的属性是跟数据库表的字段一一对应的。
4.VO是独立的Java Object。
PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了
与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时
将反应到实际数据库中。
不用po代替vo的主要原因还有
业务层的方法的参数和返回类型不能是POJO,因为当POJO处于持久化状态时,会同步更新数据库,会带来一定的危险性,即在用户不知觉的情况下会对数据进行修改,所以,不能在控制器中对POJO进行操作,而用VO代替。使用VO可以避免Session已关闭的异常。
vo和pojo的更多相关文章
- PO BO VO DTO POJO DAO 概念及其作用
PO BO VO DTO POJO DAO 概念及其作用(附转换图) 博客分类: java javadaovopojobo J2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业 ...
- [转载]PO BO VO DTO POJO DAO概念及其作用
原文链接:http://jeoff.blog.51cto.com/186264/88517/ POJO = pure old java object or plain ordinary java ob ...
- 转:PO BO VO DTO POJO DAO概念及其作用
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
- PO BO VO DTO POJO DAO DO
PO BO DTO VO 归在一起叫是POJO,简单java对象:DAO 是进行数据库增删改查的类,DO不确定有没有. 重点说下POJO PO 持久对象,数据: BO 业务对象,封装对象.复杂对象 , ...
- 阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义
分层领域模型规约: DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. DTO( Data Transfer Object):数据传输对象,Service或Ma ...
- [转]PO BO VO DTO POJO DAO概念及其作用(附转换图)
来源:http://www.blogjava.net/vip01/archive/2013/05/25/92430.html J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候 ...
- java中一些对象(po,vo,dao,pojo)等的解释
一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对 ...
- Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...
- PO BO VO DTO POJO DAO概念及其作用(附转换图)
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
随机推荐
- css3的calc()
计算大小宽度距离的一个计算函数 使用方法 再括号中进行加减乘除的运算 例如: width : calc(100% - 75px) 注意 :符号左右两边要有空格
- stm32l071cbt6片内flash操作
今天在看片内flash的操作,发现按照下面的操作并没有写成功: unsigned long temp = 0x12345678; HAL_FLASH_Unlock(); FLASH_PageErase ...
- Atom编辑神器
最近喜欢上了Atom编辑神器,安装就不说了,重点讲配置. 一:软件配置 1.先将欢迎界面去掉,每次打开Atom的时候都会出现,实在是很烦人. 就在欢迎界面里面有个复选框,去掉选中就可以了. 2.让At ...
- centos6.8 搭建zabbix被监控端
System:Centos 6.8 Zabbix-agent:3.2.1 1 安装对应版本的zabbix的yum源,官方网站中没有找到zabbix3.0支持的centos6的源,所以用的3.2 #rp ...
- 《DSP using MATLAB》Problem 5.38
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- url中携带中文乱码问题
1.问题描述 在项目中碰见url中经常传递中文参数时,容易出现乱码问题,现在就这个问题产生原因和解决的措施大概分析一下,希望过路人和我能引以为戒. 2.问题分析 由于我们利用URL传递参数这种方式是依 ...
- 【mybatis源码学习】调试mybatis的第一个程序
[一].基础知识准备 mybatis-config.xml配置文件的结构 MyBatis配置文件中大标签configuration下子标签包括: configuration |--- properti ...
- vm如何安装xenserver
xenserver下载链接 http://downloadns.citrix.com.edgesuite.net/12636/XenServer-7.2.0-install-cd.iso 安装过程和安 ...
- buckaroo 去中心化的c++包管理工具
buckaroo 是一款去中心化的c++ 包管理工具,使用上,类似yarn(nodejs),cargo (rust) ,使用buckaroo 我们可以很容易集成一个大规模的项目 支持以下特性 直接从G ...
- oracle-sql内置函数
函数 oracle 自定义函数入门 主题:ORACLE函数大全 ############################### set operators UNION, UNION ALL, INT ...