分别介绍一下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...

面试题 相关文章推荐
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
May 09 面试题
strlen的几种不同实现方法
May 31 面试题
C++的几个面试题附答案
Aug 03 面试题
查询优化的一般准则有哪些
Mar 08 面试题
SQL里面IN比较快还是EXISTS比较快
Jul 19 面试题
StringBuilder和String的区别
May 18 面试题
中科创达面试题
Dec 28 面试题
EJB timer的种类
Oct 28 面试题
远程调用的原理
Jul 05 面试题
一套中级Java程序员笔试题
Jan 14 面试题
与UNIX有关的几个名词
Sep 17 面试题
请介绍一下WSDL的文档结构
Mar 17 面试题
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实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
python条件和循环的使用方法
2013/11/01 Python
python访问系统环境变量的方法
2015/04/29 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
Python连接DB2数据库
2016/08/27 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
2019/07/01 Python
python爬虫开发之selenium模块详细使用方法与实例全解
2020/03/09 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
公司活动策划方案
2014/01/13 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
卫生系统先进事迹
2014/05/13 职场文书
付款承诺函范文
2015/01/21 职场文书
活动总结书怎么写
2015/05/11 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS