码迷,mamicode.com
首页 > 其他好文 > 详细

开发中model,entity和pojo的区别

时间:2020-03-29 12:51:13      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:val   数据访问层   它的   持久化   ordinary   相关   mod   nbsp   http   

一、Bean

对于Bean而言,我的理解是只要是Java的类的就可以称为一个Bean,更用在Spring上,被Spring管理的对象就可以将其称作为Bean。

它不仅仅可以包括对象的属性以及get,set方法,还可以有具体的业务逻辑。

二、Entity

这个最容易理解,其特点是:数据表对应到实体类的映射

三、Model

Model是MVC中一个概念,可能不和Entity一一对应,因为展示在View层中数据可能是一个Entity的精简,也可能是多个Entity的组合。一句话概括:Model是一个高度优化组合或者精简后的一个用于在View层展示数据的对象。

四、POJO

简单Java对象,貌似没有经常提到或作为类的后缀存在,难道是因为其名字太长?

其特点是:除了属性和get、set方法外不包含具体的业务逻辑方法,这个和上文表述的Model很相像,和Entity区别在于没有和数据表中字段一一对应。

 

 

 

 

 

总结:实际上entity与pojo与javabean都是JAVA对象,可能有的地方叫法不同,实际上功能都是一样的,唯一不同是用于范围不同,请看下面详细分析。
Java Bean、POJO、 Entity、 VO , 其实都是java 对象,只不过用于不同场合罢了。 
按照 Spring MVC 分层结构:
JavaBean:    表示层 (Presentation Layer)
Entity:    业务层 (Service layer)

Dao:   数据访问层 (data access layer)。

Entity接近原始数据,Model接近业务对象~
Entity:是专用于EF的对数据库表的操作,
Model:是为页面提供数据和数据校验的,所以两者可以并存
POJO:POJO是Plain OrdinaryJava Object的缩写不错,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。
POJO实质上可以理解为简单的实体类,顾名思义POJO类的作用是方便 程序员使用数据库中的数据表,对于广大的程序员,可以很方便的将POJO类当做对象来进行使用,当然也是可以方便的调用其get,set方法。POJO类 也给我们
今天突然也在这个问题上迷惑了。上网搜搜,算是明白了一些,姑且记下来,无论对错:
  JavaBean: 先说JavaBean,JavaBean更多的是一种规范,也即包含一组set和get方法的Java对象。
  POJO: 普通的Java对象,对于属性一般实现了JavaBean的标准,另外还可以包含一些简单的业务逻辑(方法)。
  PO: POJO在持久层的体现,对POJO持久化后就成了PO。PO更多的是跟数据库设计层面相关,一般PO与数据表对应,一个PO就是对应数据表的一条记录。
  DAO: PO持久化到数据库是要进行相关的数据库操作的(CRUQ),这些对数据库操作的方法会统一放到一个Java对象中,这就是DAO。
  BO: POJO在业务层的体现,对于业务操作来说,更多的是从业务上来包装对象,如一个User的BO,可能包括name, age, sex, privilege, group等,这些属性在数据库中可能会在多张表中,因为每一张表对应一个PO,而我们的BO需要这些PO组合起来(或说重新拼装)才能成为业务上的一个完整对象。
  VO(Value Object/View Object): POJO在表现层的体现。 当我们处理完数据时,需要展现时,这时传递到表现层的POJO就成了VO。它就是为了展现数据时用的。
  DTO(Data Transfer Object): POJO在系统间传递时。当我们需要在两个系统间传递数据时,一种方式就是将POJO序列化后传递,这个传递状态的POJO就是DTO。
  EJB(Enterprise JavaBean): 我认为它是一组"功能"JavaBean的集合。上面说了JavaBean是实现了一种规范的Java对象。这里说EJB是一组JavaBean,的意思是这一组JavaBean组合起来实现了某个企业组的业务逻辑。这里的一组JavaBean不是乱组合的,它们要满足能实现某项业务功能的搭配。找个比方,对于一身穿着来说,包括一顶帽子,一件衣服,一条裤子,两只鞋。这穿着就是EJB,其它的就是一个JavaBean。。。。后续。。。。

 


原文链接:

http://blog.sina.com.cn/s/blog_aed19c1f0102wp1q.html

https://blog.csdn.net/a909422229/java/article/details/70792203

开发中model,entity和pojo的区别

标签:val   数据访问层   它的   持久化   ordinary   相关   mod   nbsp   http   

原文地址:https://www.cnblogs.com/zmwy/p/12591569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!