实体entity、JavaBean、Model、POJO、domain的区别

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作为支持业务逻辑的协助类。
domain:domain这个包国外很多项目经常用到,字面意思是域的意思。

POJO实质上可以理解为简单的实体类,顾名思义POJO类的作用是方便 程序员使用数据库中的数据表,对于广大的程序员,可以很方便的将POJO类当做对象来进行使用,当然也是可以方便的调用其get,set方法。

 - 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.
---------------------
作者:MrBlackWhite
来源:CSDN
原文:https://blog.csdn.net/u011665991/article/details/81201499
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/CaptainFM/p/10734811.html

时间: 2024-07-30 19:52:57

实体entity、JavaBean、Model、POJO、domain的区别的相关文章

实体对象辨析(POCO、Entity、Model、DTO、BO、DO、PO)

POCO (Plain Old CLR Object)源自Java EE编程领域的POJO概念(2000年由Martin Fowler提出)和POTS (Plain Old Telephone Service)概念.POCO被应用于面向.NET框架的CLR (Common Language Runtime, 公共语言运行时).但是POCO本身不依赖于外部框架,它是PLAIN的. POCO的优点: 简单数据存储机制,简化层间数据传递和序列化. 可用于依赖注入和仓库(Repository)模式. 减

[计算机基础]关于实体( Entity )和模型( Model )

关于实体和模型: viki:实体(entity)是有可区别性且独立存在的某种事物,但它不需要是物质上的存在.尤其是抽象和法律拟制也通常被视为实体. 可见,实体就是软件系统中的研究对象.比如:学生信息管理系统中,学生这一概念就是一个实体,它是我们软件系统的主要研究对象 数据模型:在软件工程中,数据模型是定义数据如何输入和与输出的一种模型.其主要作用是为信息系统提供数据的定义和格式.数据模型是数据库系统的核心和基础,现有的数据库系统都是基于某种数据模型而建立起来的 这个概念更多出现在数据库系统中.它

Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数据库表里面的某个字段.完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法.持久对象是由insert数据库创建,由数据库delete删除的.基本上持久对象生命周期和数据库密切相关. VO:值对象(Value Object),通常用于业务层之间的数据传递,和PO一样也是仅仅包含

Java中几种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)

一.j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维. ORM是Object Relational Mapping[对象关系映射]的缩写 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/RMapping的世界里, 有一系列的重要对象,常见的有VO,PO,DTO,POJO,DAO,BO. 1.Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分 (一).POJO(

Visual Studio 2010添加数据源时没有实体数据模型Entity Data Model选项

Visual Studio 2010添加数据源时没有实体数据模型Entity Data Model选项 今天在用VS2010创建控制台应用程序,添加数据源的时候,没有"实体数据模型"选项.在网上搜索了下,很多人都遇到了这个问题.我最后找到了解决方案. 在安装文件夹中找到WCU\EFTools文件夹,如果直接运行msi文件会报错:To install this product please run Install.exe.将里边cab和msi文件拷贝出来到E盘(便于操作),并创建Log.

Entity Framework的核心 – EDM(Entity Data Model) 一

这次开发项目,我依然做的是.Net,前几个月的项目底层设计使用的的是 ORM 思想,技术选用的是NHibernate,这次也不例外,开发.Net项目,依然使用的是ORM的思想,不同的是这次开发技术选用的是EF(EntityFrameWork).这个框架可是让我费眼不少,我了解它,从它的XML开始的.开始说说有关EF中xml的解读. 一.EnityFramework EnityFramework的全程是ADO.NET Entity Framework .和Nhibernate一样,EF 同样是遵守

VS2010 新增项目找不到ADO.NET Entity Data Model模板

一.发生状况 在VS2010中使用,在进行新增ADO.NET Entity Data Model模板时发现,VS2010中没有这个选项. 如果正常,会显示下图所示: 二.分析原因 从网络上搜索了一下,发现此原因是由于在 Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Data\2052下不存在AdoNetEntityDataModelCSh arp.zip文件.正常应该是存在此文件的,如下图 三.问题解决 我们打开VS2

ASP.NET-MVC中Entity和Model之间的关系

Entity 与 Model之间的关系图 ViewModel类是MVC中与浏览器交互的,Entity是后台与数据库交互的,这两者可以在MVC中的model类中转换 MVC基础框架 来自为知笔记(Wiz) 附件列表 ASP.Net MVC基础框架.png viewmodel.JPG

crm2011创建自定义实体Entity

using System; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Messages; using Microsoft.Xrm.Sdk.Metadata; using Microsoft.Crm.Sdk.Messages; /// <summary> /// crm创建自定义实体 /// </summary> public class CreateEntityHelper { public void Create(IOrga