J2EE快速进阶培训BMP实体Bean的生命周期-Read.PPT

J2EE快速进阶培训BMP实体Bean的生命周期-Read.PPT

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
J2EE快速进阶培训BMP实体Bean的生命周期-Read

实体 Bean概述 实体 Bean是表示数据的组件。实体 Bean用成员变量来存放来自数据库中的数据,数据库表中的每一例都对应与实体 Bean对象的一个成员变量,数据库表中的一条记录则对应一个实体 Bean对象实例,实体 Bean还提供一些与成员变量相关的操作方法 实体Bean所包含的文件 (1) 实体 Bean类 (2) 实体 Bean的Remote接口 (3)?实体 Bean的Home接口 客户端利用这个接口来创建、查找、删除实体 Bean的EJB对象,在这个接口里面除了要定义一些创建EJB对象的方法和删除EJB对象的方法,还要定义一些查找EJB对象的方法。实现接口的对象叫Home对象。 (4)?实体 Bean的local 接口和local Home接口 (5) 实体 Bean的主键类 主键类包含了能唯一标识数据库表中一条记录的字段,这些字段对应于主键类中的一个成员变量。主键类必须是实现了序列化接口的可序列化Java对象 (6) 实体 Bean的部署描述文件 。 实体 Bean的一些特点 (1) 实体 Bean的寿命很长 (2)?实体 Bean是数据库的视图 EJB容器通过EjbStore() 和ejbLoad()方法完成内存中的数据和数据库中的数据同步。 (3) 多个实体 Bean可能同时代表同一个数据记录 在EJB中,会话 bean、实体 bean 和消息驱动bean的实例都是单线程的。因此一个Bean实例在同一时刻只能服务于一个客户端,所以EJB容器允许在需要的时候初始化多个相同的Bean实例,而每一个Bean实例的数据源都是一样的。数据的同步也是有EJB容器自动完成的。 (4)??? 实体 Bean池 通常EJB容器会根据设置预先初始化几个Bean实例,并把它们放到一个Bean池中,当需要使用它们时,才把相关的数据读入其中,客户端调用完后,并不马上销毁它们,而是继续让它们留在Bean池中,当新的请求到达时,再把实例和相关的EJB对象关联起来,并把数据读入其中。实体 Bean在进出Bean池时也有激活(Activated)和钝化(passivated)。实体 Bean的激活(Activated)和钝化(passivated)还需要调用EjbStore() 和ejbLoad()方法来保存Bean的状态。 (5)??? 有两种方法来处理实体 Bean的数据存储方式 BMP(Bean-managed Persistence)是Bean自己管理的存储方式, CMP (Container- managed Persistence)是由容器来管理的存储方式。 (6)??? 实体 Bean的创建和删除和Session Bean是不一样的 在ejbCreare() 方法中要执行数据库表记录的插入操作,而在ejbremove()方法中则执行数据库表记录的删除操作,Home对象的creare()方法必须把相应的字段值传给ejbCreare()方法。creare()方法返回的是remote接口 (7)??? 实体 Bean的查找 实体 Bean提供了许多ejbFinder方法,同时在Home接口中也对应着有一系列的Finder方法,客户端获取了对Home对象的引用后,就直接调用Home对象的Finder方法,Finder方法从数据库中找到对应的数据后,就返回一个相对应的EJB对象。 (8)??? 实体 Bean上下文对象 对于实体 Bean,context对象实现的接口是javax.ejb.EntityContext,它是从javax.ejb.EJBContext继承来的。 实体Bean的基本要求 大于等于零对的ejbCreate和ejbPostCreate方法(实体Bean可以没有ejbCreate方法,只有查找方法,但是不能两者都没有) 查找(Finder)方法 商业方法 Home方法(这里的Home方法不好理解,如果是指生命周期方法,应该包含ejbcreate等方法) 另外它还有如下的一些特征: 该类访问属性为public 该类不可以被定义为abstract或者final 该类包含一个空构造函数 该类不可以实现finalize方法 EntityBean接口 该接口也继承至EnterpriseBean接口(EnterpriseBean接口是SessionBean和EntityBean共同的父接口,它继承至Serializable接口,没有任何方法)。EntityBean定义一些方法,如ejbActive、ejbLoad和ejbStore等等,你必须在实体Bean类里实现它们。 ejbCreate方法 ejbCreate方法完成如下工

文档评论(0)

jinchenl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档