Java开发中PO,BO,VO和POJO的区别

开发中POJO是DO, DTO和VO等的统称。

POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。

PO :persistent object持久对象

1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。

2 .在hibernate持久化框架中与insert/delet操作密切相关。

3 .PO中不应该包含任何对数据库的操作。

POJO :plain ordinary java object 无规则简单java对象

一个中间对象,可以转化为PO、DTO、VO。

1 .POJO持久化之后==〉PO

(在运行期,由Hibernate中的cglib动态把POJO转换为PO,PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。PO对于programmer来说完全透明,由于是运行期生成PO,所以可以支持增量编译,增量调试。)

2 .POJO传输过程中==〉DTO

3 .POJO用作表示层==〉VO

PO 和VO都应该属于它。

DO是data object的缩写,是数据对象的意思,一般和数据库中的表相对应。会放在domain包中。如果使用jpa开发,则DO的属性会被@Id, @Column, @OneToMany, @OneToOne, @ManyToMany和@mappBy等注解修饰来建立数据对象跟数据库表之间的映射关系,以及表之间的关联关系。如果使用mybatis开发,则不需要注解修饰,只需要简单的Java对象就可以。

DAO :data access object数据访问对象 
1 .主要用来封装对DB的访问(CRUD操作)。 
2 .通过接收Business层的数据,把POJO持久化为PO。

 

Guess you like

Origin blog.csdn.net/weixin_42321329/article/details/88904189