POJO (Plain Old Java Objects)
PO(persisent object)
在Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。
持久对象实际上必须对应数据库中的entity,所以和POJO有所区别。比如说POJO是由new创建,由GC回收。但是持久对象是insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相关。另外持久对象往往只能存在一个数据库Connection之中,Connnection关闭以后,持久对象就不存在了,而POJO只要不被GC回收,总是存在的。
由于存在诸多差别,因此持久对象PO(Persistent Object)在代码上肯定和POJO不同,起码PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。而ORM追求的目标就是要PO在使用上尽量和POJO一致,对于程序员来说,他们可以把PO当做POJO来用,而感觉不到PO的存在。
JDO的实现方法是这样的:
1、编写POJO
2、编译POJO
3、使用JDO的一个专门工具,叫做Enhancer,一般是一个命令行程序,手工运行,或者在ant脚本里面运行,对POJO的class文件处理一下,把POJO替换成同名的PO。
4、在运行期运行的实际上是PO,而不是POJO。
该方法有点类似于JSP,JSP也是在编译期被转换成Servlet来运行的,在运行期实际上运行的是Servlet,而不是JSP。
Hibernate的实现方法:
1、编写POJO
2、编译POJO
3、直接运行,在运行期,由Hibernate的CGLIB动态把POJO转换为PO。
分享到:
相关推荐
java术语(PO/POJO/VO/BO/DAO/DTO)
根据数据库结构生成Hibernate映射文件和POJO Java代码
关于VO、PO的理解——java的(PO,VO,TO,BO,DAO,POJO)解释
Java中 PO VO BO DTO DAO 和 POJO 关系图
Java的几种对象(PO-VO-DAO-BO-POJO)解释
分层领域模型对象的命名与之间的转换关系, 附代码 与 阿里巴巴java开发规范.pdf下载链接
Generate POJO-JPA-PO
java(PO,VO,BO,DAO,POJO)Explained Collection 详解
JAVA 中 的 什 么 是 POJO、VO、PO、DO、DTO 都 是 什 么 ? 他 们 有 什 么 区 别 ?
java的几种对象(PO_VO_DAO_BO_POJO)解释
首先 介绍Java的缩写,给一些入门Java的帮助,
下面小编就为大家带来一篇基于java中的PO VO DAO BO POJO(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
J2EE开发人员必须知道 Java Web开发中VO、PO、DTO、POJO代表含义。
主要介绍了java中PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn的理解,需要的朋友可以参考下
ReflectionValidationUtils 通过反射轻松验证具有多个属性的自定义POJO或实体。 假设您有一个名为USER的POJO,并且想... 代码行根据对象(POJO)中数据类型的数量而增加。 日期验证可能与Integer和String不同。
这与Hibernate的PO管理类似,但比PO更方便使用,程序不用关心此时是VO还是PO。调用update即可,即使不在Session生命周期之内. 同时多数据库支持:同样一个pojo,可以保存到不同的数据库,而不且每个数据库都加载映射...
绑定到业务对象(POJO)的Android View属性。 为什么要使用TC后缀? TC-保重! 状态 积极开发,始于:2014-05-15 更改: 路线图(v1.0.0-v2.0.0): 与Android绑定: 目标 高性能, 简单的语法, 简约的...
方便了开发,配置文件基本都有注释,还有一个不错的baseDao文件方便大家参考,功能只有个LoginDemo,但框架完好,下载之后要配置一下applicationContext.xml里的数据源,数据库大家就看一下po自己建一下吧。
使用原生jdbc连接mysql数据库,获取所有表名,并映射成java实体类,支持spring注解。摆脱繁琐的实体类编写工作。