分别介绍一下Session Bean和Entity Bean


Posted in 面试题 onMarch 13, 2015
Session beans:
Session beans 是一种作为单个的client执行的对象。作为对远程的任务请求的相应,容器产生一个Session beans 的实例。一个Session beans有一个client.从某种程度上来说,一个Session bean 对于服务器来说就代表了它的那个client.Session beans 也能用于事务,它能够更新共享的数据,但它不直接描绘这些共享的数据。

Session beans 的生命周期是相对较短的。典型的是,只有当client保持会话的时候,Session beans 才是活着的。一旦client退出了,Session beans 就不再与client相联系了。Session beans被看成是瞬时的,因为如果容器崩溃了,那么client必须重新建立一个新的Session对象来继续会话。

一个Session bean典型的声明了与client的互操作或者会话。也就是说,Session bean了在客户会话期间,通过方法的调用,掌握Client的信息。一个具有状态的Session bean称为有状态的Session bean.当client终止与Session beans互操作的时候.会话终止了,而且,bean 也不再拥有状态值。

一个Session bean也可能是一个无状态的 session bean.无状态的Session beans并不掌握它的客户的信息或者状态。Client能够调用beans的方法来完成一些操作。但是,beans只是在方法调用的时候才知道client的参数变量。当方法调用完成以后,beans并不继续保持这些参数变量。这样,所有的无状态的session beans的实例都是相同的,除非它正在方法调用期间。这样,无状态的Session beans就能够支持多个client.容器能够声明一个无状态的Session beans.能够将任何Session beans指定给任何client.

Entity Beans:
Entity Beans对数据库中的数据提供了一种对象的视图。例如:一个Entity bean能够模拟数据库表中一行相关的数据。多个client能够共享访问同一个Entity bean.多个client也能够同时的访问同一个Entity bean.Entity beans通过事务的上下文来访问或更新下层的数据。这样,数据的完整性就能够被保证。

Entity Beans能存活相对教长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。如果由容器控制着保证 Entity beans持续的issus。如果由Beans自己管理,就必须写Entity beans的代码,包括访问数据库的调用。

Entity Beans是由主键(primary key 一种唯一的对象标识符)标识的。通常,主键与标识数据库中的一块数据,例如一个表中的一行,的主键是相同的。主键是client能够定位特定的数据块。

Tags in this post...

面试题 相关文章推荐
Java TransactionAPI (JTA) 主要包含几部分
Dec 07 面试题
上海方立数码笔试题
Oct 18 面试题
数组越界问题
Oct 21 面试题
delegate与普通函数的区别
Jan 22 面试题
描述RIP和OSPF区别以及特点
Jan 17 面试题
Linux中如何用命令创建目录
Jan 12 面试题
介绍一下Make? 为什么使用make
Jul 31 面试题
华为python面试题
May 03 面试题
Java里面Pass by value和Pass by Reference是什么意思
May 02 面试题
Java语言程序设计测试题判断题部分
Jan 06 面试题
什么是封装
Mar 26 面试题
什么是抽象
Dec 13 面试题
EJB2和EJB3在架构上的不同点
Sep 29 #面试题
比较一下entity bean和session bean
Dec 27 #面试题
介绍一下RMI的基本概念
Dec 17 #面试题
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
Jun 05 #面试题
敏捷开发的主要原则都有哪些
Apr 26 #面试题
什么是规则表达式
May 03 #面试题
软件设计的目标是什么
Dec 04 #面试题
You might like
php中的时间处理
2006/10/09 PHP
PHP中的类-什么叫类
2006/11/20 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
python操作excel文件并输出txt文件的实例
2018/07/10 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
详解Python是如何实现issubclass的
2019/07/24 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
Python如何将装饰器定义为类
2020/07/30 Python
Python map及filter函数使用方法解析
2020/08/06 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
后勤主管工作职责
2013/12/07 职场文书
作文批改评语大全
2014/04/23 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
科学育儿宣传标语
2014/10/08 职场文书