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

面试题 相关文章推荐
说出数据连接池的工作机制是什么?
Apr 19 面试题
Java中实现多态的机制
Aug 09 面试题
C++:局部变量能否和全局变量重名
Mar 03 面试题
为什么会有内存对齐
Oct 10 面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 面试题
介绍一下Transact-SQL中SPACE函数的用法
Sep 01 面试题
广州迈达威.net面试题目
Mar 10 面试题
程序集与命名空间有什么不同
Jul 25 面试题
别名指示符是什么
Oct 08 面试题
C#可否对内存进行直接的操作
Feb 26 面试题
你所在的项目是如何确定版本号的
Dec 28 面试题
什么是GWT的Entry Point
Aug 16 面试题
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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
PHP与SQL注入攻击[二]
2007/04/17 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
PHP安全配置详细说明
2011/09/26 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
Zend Framework前端控制器用法示例
2016/12/11 PHP
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
js实现点击生成随机div
2020/01/16 Javascript
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
pygame实现打字游戏
2021/02/19 Python
python实现大量图片重命名
2020/03/23 Python
python selenium操作cookie的实现
2020/03/18 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
大学总结自我鉴定
2014/01/18 职场文书
高中生物教学反思
2014/02/05 职场文书
骨干教师事迹材料
2014/12/17 职场文书
考研导师推荐信范文
2015/03/27 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
MySql数据库触发器使用教程
2022/06/01 MySQL