http://bbs.csdn.net/topics/30315617
SessionBean封装过程;EntityBean封装数据。
· Session Bean
Session Bean在J2EE Server上代表的是一个Client。Client通过调用Session Bean的方法来访问远程服务。Session Bean为它的Client完成特定的工作,并通过在server端运行business tasks,向Client屏蔽了实现的复杂性。
Session Beans有两种状态管理模式:Stateful和Stateless
Stateless Session Bean不能够维持一个调用客户的状态。在一个方法调用的过程中,Stateless Session Bean可以维持调用客户的状态,但是当方法执行完时,状态不会被保持。在调用完成后,Stateless Session Bean被立即释放到缓冲池中,所以Stateless Session Bean具有很好的伸缩性,可以支持大量用户的调用。
Stateful Session Bean可以一对一的维持某个调用客户的状态,并且在不同的方法调用中维持这个状态, 由于对于每一个并发用户,必须有一个对应的Stateful Session Bean,为了提高系统的效率,Stateful Session Bean可以在一定的客户空闲时间后被写入二级存储设备(如硬盘),在客户发出新的调用请求后,再从二级存储 设备恢复到内存中。
· Entity Bean
Entity Bean代表的是持续储存机制中的一个企业对象。它的持续可以被Entity Bean自己管理,也可以由EJB容器来管理。
Entity Bean代表数据库或另外一个企业应用系统中的数据对象,如代表数据库的一行记录。和Session Bean不同,Entity Bean是持久的(persistent),允许共享访问。持久性(Persistence)是指Entity Bean的状态不依赖于应用服务器而存在。因为Entity Bean是底层数据库记录的映像,会和数据库记录保持同步,所以,即使当应用服务器崩溃或停止运行,Entity Bean的状态还会保存在数据库中,不会丢失。