不要说Entity Bean,实际应用中连用Session Bean的都很少。
当然编几个EJB就自称三层结构的应用系统很多。
我见过一个应用,一个Session Bean里面有几十个方法,为什么?分开到不同的Session Bean里面开发配置管理起来太麻烦,这样最简单,反正是追求个形式,应付一下用户。
三层结构,吹起来好听,做起来难。

解决方案 »

  1.   

    小项目,用EJB 简直就是高射炮打蚊子,当然效率不高,也不好使
    为什么要用EJB,问的好,你学过数据库原理嘛?计算机系必修课之一
    数据库原理肯定会讲到,数据库数据模型分3层
    (1)概念层(2)中间层(3)物理层???我记不太清了
    好好看看数据库原理的三层模型,就明白了
      

  2.   

    To: wudaosoft(无道软件) 
    说得很对,我就是因为在项目中只见到用session bean的所以才想知道有没有用其他两种的,也许WEB开发中用的机会确实不多,你看到的系统确实有点烂,HEHE.
      

  3.   

    oh~~yeah~~~you are good ~
      

  4.   

    BMP的Entity Bean我是不使用的。因为它还要自己写SQL的。
    没有减少工作,反而减低了效率。
    CMP的Entity Bean可以使我们简化Bean的开发。不需要自己实现任何持久逻辑,而是由容器为你执行存储空间操作。这样你可以很快的移植到新的数据库模型而不用改变任何源代码。EJB容器可以非常巧妙的知道它怎样缓冲Entity Bean的状态到内存中。而我们自己很难做到这一点。
    不用写JDBC代码就可以减少出错。
    用Entity Bean的最大好处独立于数据库,可以容易的连接到不同数据库。至于Message Bean我没怎么用过,不过它是一种不用进程间通讯的新型的手段,应该有它的先进性。
      

  5.   

    去看看EJB DesignPattern吧。
    Message Bean用在异步操作方面的,在操作不需要等待结果的情况下面可以使用。
      

  6.   

    Message Bean 用得比较少通常情况下我用Session Bean 通过Local接口访问Entity Bean,符合设计规范,效率比较高,而且比用Session Bean中通过jdbc访问DB开发效率高、不易出错。对于复杂的多表查询,返回复杂的结果集,我通常把业务封装在存储过程中,在Session Bean 通过jdbc访问。
      

  7.   

    我在一个项目中首次使用EJB,我尝到了苦果!
    1. 运行速度奇慢(PIIII2G、1GRAM的服务器)!
    2. SessionBean 调用EntityBean出错(WAS&db2),IBM解释说50万例中才有一例,目前这是第三例。
    3. 加了一个月班。好处是:我终于揭开了EJB的神秘面纱,从此不再用EJB。