`

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

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

    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)是常见的五个概念,它们在软件设计和开发中扮演着不同的角色。...

    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 中常用的类别,但是它们之间...

    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...

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

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

Global site tag (gtag.js) - Google Analytics