Hibernate中VO与PO

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

GEE 案例分析:利用Landsat数据进行FAI、NDVI及CHLA分析并统计平均值(巢湖为例) 浮游藻类指数(FAI)、归一化植被指数(NDVI)及叶绿素a(CHLA)是水体环境监测的重要指标。本文利用Google Earth Engine(GEE)平台,基于Landsat 5和Landsat 8数据,进行水体藻类及植被监测。 阅读详情

相关推荐

lerobot VLA--SmolVLA代码的讲解

2.图像resize至正方形224x224,图像长宽比不变,其他区域用黑色补充,标记为mask=1,若占位图像(摄像头缺失),则 创建全-1像素的占位图像 标记为mask=0,image为[1, 3, 512, 512],img_mask为True,masks列表长度为2,img_masks为2,因为我这里两个相机。文本嵌入:通过embed_language_tokens() 被转换为嵌入表示,lang_emb 是语言的嵌入,包含了语言的语法和语义信息。1.像素值[0,1]->[-1,1]

caokaifa的博客 4067

Hibernate——VO对象与PO对象的区别

PO : persistant object定义   PO(persistant object) 持久对象,通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。使用Hibernate来生成PO是不错的选择。 VO:value object

JAVA那些事 2757

ANSYS 2022R2 安装教程:系统准备、许可证配置与故障排查

ANSYS 是面向工程仿真的多物理场商业软件平台,其安装远非普通应用软件的图形化向导流程,而涉及操作系统版本、运行库精确版本、硬件虚拟化支持、许可证服务架构等系统级配置。理解 ANSYS License Manager 的服务机制与端口依赖、掌握 Visual C++ 和 .NET Framework 的启用逻辑,是保障 Fluent、Mechanical、HFSS 等求解器稳定调用的基础。该技术栈广泛应用于高校教学、航空航天结构分析、电子设备电磁兼容仿真等场景。本指南聚焦 ANSYS 2022R2 版本在

weixin_28559803的博客 598

Hibernate查询返回自定义VO的两种方式

说明:createQuery用的hql语句进行查询,createSQLQuery用sql语句查询; 前者以hibernate生成的Bean为对象装入list返回;后者则是以对象数组进行存储; 一、通过createSQLQuery()查询获得,代码如下: 1 String sql = "select g.*, b.name as bigTypeName, s.name as smallTy...

weixin_30485291的博客 513

四阶龙格库塔法求解一次常微分方程组(python实现)

之前在博客发布了关于使用四阶龙格库塔方法求解一次常微分方程组的文章,由于代码缺少具体的验证,部分朋友可能存在疑问,因此这里打算再重新写一篇博客来验证一下程序的正确性,另外,这里是使用python语言来实现的。

HelloWorldTM的博客 8543

RK3588 部署 YOLOv5s 实战:多线程加速从 16FPS 飙升到 120FPS(含性能优化)

因为RK3588包含了3个NPU核心,支持3个核心同时工作、双核合作、以及单核工作。我们可以使用线程池来加速。线程池是一种长街的并发编程模型,它用于管理和复用线程,以提高多线程程序的性能和效率。线程池通常包含以下主要组件:1、任务队列:任务队列用于存储待执行的任务。这些任务可以是函数、方法或其他需要多线程环境中执行的操作。2、线程池管理:线程池管理器负责创建、销毁和管理线程。它会监视任务队列中的任务,根据需要创建线程,执行任务,并在任务完成后将线程放回池中以供重用。

FJN110的博客 99

hibernate 查询VO

需求很简单,就是关联两个实体,多查询一个name出来。这样就费事了,用resultTransformer来做。就需要这么写 String hql = "select a.id as id, " + "a.assetsNo as assetsNo," + "a.assetsSpecification as assetsSpecification," + "a.b...

tamink2013的博客 252

AI原生SaaS应用的自动化运维体系构建

随着ChatGPT掀起的AI原生应用浪潮,越来越多SaaS(软件即服务)产品开始以"AI优先"的方式设计——从用户交互到核心功能,都深度依赖机器学习模型(如推荐算法、智能客服)、实时数据流(如用户行为分析)和弹性算力(如大模型推理)。这类应用的运维需求与传统SaaS完全不同:传统运维像"修水管",哪里漏了补哪里;AI原生运维则像"照顾会成长的宠物",需要实时感知模型状态、数据变化和流量波动,主动调整资源。

AI天才研究院 1080

使用Hibernate的项目中对VO的理解

        前段时间我参与了使用Struts,ibernate的项目,如今项目已经结束,对多层系统的设计有了一些理解.这个项目主要的实现思想和这篇文章---结合struts和hibernate谈J2EE架构的数据表示, 讲述的是一致的.大家可以先浏览一下,我主要想和大家讨论一下VO.       Web层的数据表示是FormBean,数据来源于HTML Form POST        业务层

天道酬勤 2257

Vue3 - 详解实现网站接入钉钉扫码登录功能,钉钉授权生成登录二维码用户用手机扫描二维码登陆,支持弹框式、浏览器单独新开页显示,钉钉扫描二维码登录详细流程及示例代码,最新vue集成钉钉扫码授权登录!

vue3,nuxt3,钉钉,扫码登录,vue3钉钉扫码登陆,钉钉授权第三方WEB网站扫码登录功能,钉钉扫码登录第三方网站,单点登录,二维码不显示,报错,扫了没反应,出错,vue3钉钉扫码登录,内嵌,获取个人信息,pc网页钉钉登录,钉钉扫码登录怎么新开一页,跳页显示二维码,内嵌登录二维码,iframe新页面弹出,弹出一个小窗口显示登录二维码,登录报错,扫码没反应,解决手机点登录报错没反应,官方文档,手机扫描钉钉二维码登录网站,页面弹出一个小窗口而不是打开一个页面,vue3中使用iframe实现另开小窗口扫码登

🏆 前端领域优质创作者 3695

2026年全国青少年信息素养大赛算法应用主题赛C++赛项【决赛】模拟卷1:文末附答案

2026年全国青少年信息素养大赛算法应用主题赛C++赛项【决赛】模拟卷1:文末附答案

王老师青少年编程 1178

Hibernate中PO、VO关系

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate,包括介绍Hibernate PO和Hibernate VO方面。PO(Persistence Object )和VO(Value Object )是Hibernate中两个比较关键的概念。首先,何谓VO,很简单,VO就是一个简单的值对象。总结:VO经过Hibernate进行处理,就变成了PO。sess...

dazunqu2481的博客 110

使用AI预测彩票的架构思路

彩票是随机的数字游戏,不要过度依赖AI,本文仅供娱乐研究

淘淘小窝 9407

Hibernate VO 与 PO

PO即 Persistence Object VO即 Value Object PO和VO是Hibernate中两个比较关键的概念。 首先,何谓VO,很简单,VO就是一个简单的值对象。 总结:VO经过Hibernate进行处理,就变成了PO。 session.save(user)中,我们把一个VO “user”传递给Hibernate的Session.save方法进行保存。在save方法中

lanbosan的专栏 1236

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

浅析Hibernate VO与PO区别

* 浅析Hibernate VO与PO区别 * http://developer.51cto.com 2009-09-24 13:39 佚名 dlog 我要评论(0) Hibernate PO和Hibernate VO是Hibernate中两个比较关键的概念。首先,何谓VO,很简单,VO就是一个简单的值对象。 Hibern...

xgbjmxn的专栏 207

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

PO VO in hibernate

PO 即Persistence Object  |  VO 即Value Object PO 和VO 是Hibernate 中两个比较关键的概念。 首先,何谓VO,很简单,VO 就是一个简单的值对象。 如: TUser user = new TUser(); u

QueenJade的收录 1885

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Hibernate中的VO和PO

先总结下3状态的转化关系... Transient自由状态 -- session.save() -->  Persistent持久状态 --session.close()--> Detached游离状态    Transient自由状态 session.delete()-- Persistent持久状态 <-- 处于session中--  Detached游离状态 VO

ccl_only 的专栏 472

hibernate-po与vo的比较

[b]PO即 Persistence Object[/b] [b]VO即 Value Object[/b] PO和VO是Hibernate中两个比较关键的概念。 首先,何谓VO,很简单,VO就是一个简单的值对象。 如: [code="java"]TUser user = new TUser(); user.setName("Emma");[/code]这里的user就是一个VO。VO只...

bye 188

hibernate VO PO

武汉理工大学 蔡洋(Java学生) 4

Hibernate框架图以及(po,vo,bo)

轻描时光 435

hibernate(po,vo,unsave-value,inverse,cascade,lazy-loading)

Author:Ray (整理) Date:2007.4.11 java生活论坛:http://www.javababy.cn PO 即Persistence Object VO 即Value Object PO 和VO 是Hibernate 中两个比较关键的概念。 首先,何谓VO,很简单,VO 就是一个简单的值对象。 如: TUser user = new T...

cnlf的专栏 232

结合Struts和Hibernate谈J2EE数据表示(PO和VO的应用范围)

  在 struts+ hibernate 这种结构中,是不应该把Hibernate产生的PO直接传递给JSP的,不管他是Iterator,还是List,这是一个设计错误。  我来谈谈在J2EE架构中各层的数据表示方法:  Web层的数据表示是FormBean,数据来源于HTML Form POST  业务层的数据表示是VO  持久层的数据表示是PO,其数据

【三少爷】的专栏 1178

深入浅出hibernate之PO,VO,load,get

今天老师重新详细讲解了hibernate 里的POVO. 最开始理解的POVO,感觉就是通过SAVE()方法,将OBJ持久化到数据库.如果要UPDATE,只要将oBJ 里属性SET一个新值,然后执行下UPDATE就好(这是种错误的概念),因为那时还没怎么接触POVO,一开始看到这个已经感到很强大了,马上就在脑子中记住了POVO. 本以为在项目中可以得心应手的利用这个好...

weixin_30364147的博客 1万+

pojo,po,vo区别,及hibernate和JDO差别

PO和POJO的概念 蒲永辉 发表于 2005-3-21 23

xfans12000的专栏 2023
上一篇: JAVA的各种O
下一篇: arcgis api for flex求线段的起点,终点和中点
yangactive
博客等级 码龄15年 15粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值