`

PO与POJO

    博客分类:
  • JAVA
阅读更多

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。

 

分享到:
评论

相关推荐

    hcg.rar_ant hibernate po_pojo code g

    "hcg.rar_ant hibernate po_pojo code g" 提供的资源显然是一个利用Ant构建工具和Hibernate ORM框架,自动生成POJO(Plain Old Java Object)和Hibernate映射文件的过程。下面我们将详细探讨这两个关键概念以及它们...

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

    本文将详细解析"PO/POJO/VO/BO/DAO/DTO"这六个概念,并探讨它们在实际项目开发中的作用和应用场景。 1. PO(Persistent Object,持久化对象) PO是指与数据库表结构一一对应的Java对象,它通常包含了数据库表中的...

    VO / DTO / BO / ORM DAO entity DO PO/ POJO(分层领域模型规约)整理

    本文将详细介绍VO (View Object)、DTO (Data Transfer Object)、BO (Business Object)、ORM (Object Relational Mapping)、DAO (Data Access Object)、Entity (实体)、DO (Data Object)、PO (Persistent Object)、...

    关于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-DAO-BO-POJO)解释

    ### Java的几种对象详解:PO-VO-DAO-BO-POJO #### 一、PO:Persistant Object(持久对象) 持久对象(Persistent Object,简称PO),主要用于与数据库中的表进行映射。一个简单的PO对象可以代表数据库表中的一条...

    Java中 PO VO BO DTO DAO 和 POJO 关系图

    Java中 PO VO BO DTO DAO 和 POJO 关系图

    JAVA中的POJO、VO、PO、DO、DTO都是什么?有什么区别?

    以下是关于POJO、VO、PO、DO、DTO的详细解释及其区别。 1. POJO(Plain Old Java Object):POJO是一个通用术语,指没有特定框架限制的简单Java对象。它通常包含了业务逻辑和数据属性,不包含任何特定框架的注解或...

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

    "Java的(PO,VO,TO,BO,DAO,POJO)解释" Java作为一门流行的编程语言,在软件开发中扮演着重要角色,其中一些关键概念和技术为开发者提供了方便快捷的开发体验。本篇文章将对Java中的PO、VO、TO、BO、DAO、POJO等概念...

    Generate POJO-JPA-PO.groovy

    Generate POJO-JPA-PO

    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_VO_DAO_BO_POJO)解释

    简称PO)、值对象(Value Object,简称VO)、数据访问对象(Data Access Object,简称DAO)、业务对象(Business Object,简称BO)和平凡的Java对象(Plain Ordinary Java Object,简称POJO)。这些对象在不同的场景...

    po vo dto bo to

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

    基于java中的PO VO DAO BO POJO(详解)

    在Java开发中,特别是在企业级应用领域,有几种常见的对象模型,它们分别是PO(Persistent Object)、VO(Value Object)、DAO(Data Access Object)、BO(Business Object)和POJO(Plain Old Java Object)。...

    Oracle 自动生成POVO工具

    Oracle 自动化生成POJO(Plain Old Java Object)与VO(Value Object)工具,简称POVO工具,是一种提高开发效率的实用程序。在Java开发中,POJO和VO类经常被用于数据传输和持久化层,它们是业务逻辑和数据模型之间的...

    java中PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn的理解

    PO(Persistent Object):持久对象,指的是在 O/R Mapping 中将对象与关系数据库绑定的对象。PO 是由一组属性和属性的 get 和 set 方法组成。它可以存活在一个数据库连接中,当断开连接时即被销毁。PO 的属性是跟...

    java实现相同属性名称及相似类型的pojo、dto、vo等互转操作

    Java 实现相同属性名称及相似类型的 POJO、DTO、VO 等互转操作 Java 实现相同属性名称及相似类型的 POJO、DTO、VO 等互转操作是 Java 编程中一个常见的问题。POJO、DTO、VO 等都是 Java 中常用的类别,但是它们之间...

    IDEA自动生成代码,包括PO层、DAO、SERVICE、SWAGGER注释类

    2. **DAO层(Data Access Object)**:DAO接口和实现类负责与数据库进行交互,它们封装了SQL查询和更新操作。 3. **SERVICE层**:服务层是业务逻辑的承载者,调用DAO层进行数据操作,并处理复杂的业务规则。 4. **...

    Java Web开发 之VO、PO、DTO等收集

    J2EE开发人员必须知道 Java Web开发中VO、PO、DTO、POJO代表含义。

    jdk 1.6 支持架构文件直接生成po对象

    标题中的“jdk 1.6 支持架构文件直接生成po对象”指的是Java Development Kit (JDK) 1.6版本引入的一项特性,允许开发者通过XML Schema Definition (XSD) 文件自动生成Plain Old Java Object (POJO) 类。POJO是Java...

Global site tag (gtag.js) - Google Analytics