虽然两种EJB组件实例均运行在EJB容器中,但是它们有很大的不同会话(SESSION)EJB目标执行一个客户端的任务,仅允许一个客户,不具有保持性。当客户端终止运行时,该EJB组件实例也就释放.
实体(ENTITY)EJB目标代表在保持性的存储机制中的一个业务实体对象,可以被多个客户共享,具有保持性。即使EJB容器终止运行,实体状态仍然保存在数据库中

解决方案 »

  1.   

    经验来说,一般一个程序一开始是使用会话ejb,最后用实体ejb对数据库操作。当然这是我的习惯~~
    想想一个购物站,对没一个用户与服务器的会话是不可能相同的,这时你若用实体ejb,那么甲定的东西不就对丙、丁、所有人有影响。
    例子太长了,不贴了,慢慢体会,很简单的~~
    个人意见,若有不对之出请多多请教
      

  2.   

    我的一点愚见:会话Bean主要对应MVC模式的C(Control类),主要起Control作用;实体Bean对应M(Model),一般对应数据库的一张表,可以建立类似数据库
    的主外键关系,可以看作是关系数据库的一种面向对象的表示,一般开发一个EJB项目,都要用到Facade模式,即用会话Bean去包裹多个实体Bean,建议看
    一下《J2EE的设计模式》和《EJB编程指南》,乐思出版.可以给分了吗?