对话bean是用来说话的,实体bean是用作干实事的

解决方案 »

  1.   

    因为Entity Bean(譬如说)代表底层数据库的一行,则Entity Bean实例和数据库记录间就是一对一的关系。因为多个客户端必须访问底层记录,这意味着,不同于Session Bean,客户端必须共享Entity Bean。因为是共享的,所以Entity Bean不允许保存每个客户端的信息。Session Bean允许保存客户端的状态信息,客户端和Session Bean实例间是一对一的。Entity Bean允许保存记录的信息,Entity Bean实例和记录间是一对一的。一个理想的情况是客户端通过Session Bean连接服务器,然后Session Bean通过Entity Bean访问数据库。这使得既可以保存客户端的信息又可以保存数据库记录的信息。同时Session Bean也不能提供在相同或不同的EJB类调用间进行全局的事务控制。没有Session Bean,应用程序开发者(客户端开发者)就必须理解EJB类的事务要求,并使用客户端的事务划分来提供事务控制。EJB的主要好处就是应用开发者不需知道EJB类的事务需求。一个Session Bean可以代表一个商业操作,进行事务控制,不需要客户端进行事务划分。
      

  2.   

    偶觉得最大的不同就是:Session Bean允许保存客户端的状态信息,客户端和Session Bean实例间是一对一的
    而Entity Bean不允许保存每个客户端的信息,Entity Bean允许保存记录的信息,Entity Bean实例和记录间是一对一的
      

  3.   

    在开发时一般都是用 对话BEAN 来做实体BEANE的外衣.这样网络的开消会小一些.可移植性也好些.
      

  4.   

    因为Entity Bean(譬如说)代表底层数据库的一行,则Entity Bean实例和数据库记录间就是一对一的关系。因为多个客户端必须访问底层记录,这意味着,不同于Session Bean,客户端必须共享Entity Bean。因为是共享的,所以Entity Bean不允许保存每个客户端的信息。Session Bean允许保存客户端的状态信息,客户端和Session Bean实例间是一对一的。Entity Bean允许保存记录的信息,Entity Bean实例和记录间是一对一的。一个理想的情况是客户端通过Session Bean连接服务器,然后Session Bean通过Entity Bean访问数据库。这使得既可以保存客户端的信息又可以保存数据库记录的信息。同时Session Bean也不能提供在相同或不同的EJB类调用间进行全局的事务控制。没有Session Bean,应用程序开发者(客户端开发者)就必须理解EJB类的事务要求,并使用客户端的事务划分来提供事务控制。EJB的主要好处就是应用开发者不需知道EJB类的事务需求。一个Session Bean可以代表一个商业操作,进行事务控制,不需要客户端进行事务划分。
    session bean是分两种的,less不保存客户信息的。entity bean你也可以想成是你的对象到数据库字段的映射
      

  5.   

    Sun公司抽象出两种形态的EJB目的在于各司其职,互相配合。