为了增加可移植性就用CMP.....领外CMP也省事,省去你需要了解的好多东西...

解决方案 »

  1.   

    有一种情况,那就是容器不支持CMP,呵呵
      

  2.   

    你不想使用预设的Insert,Update,Delete之类的代码,而是要使用自己的控制代码,就可以使用BMP,在ejbCreate,ejbStore等方法里面自己撰写代码.
      

  3.   

    另外现在EJB2.0中CMP不支持排序若想在SQL语句中排序就要用BMP
      

  4.   

    最好的解决方案是用CMP,然后用BMP继承CMP。用BMP来做CMP不能做的事,
    比如like查询。
    两者兼顾。
    既可以有CMP的可移植性。又可以有BMP的灵活性。
    不过遵守一个原则,能有CMP的就要用CMP。
    呵呵!
      

  5.   

    服务器实现的性能比较差,这时使用BMP也是一个原因
      

  6.   

    我一般都用CMP,只有在表结构比较复杂、SQL语句复杂的情况下使用BMP。
    能省就省吧!
    哈哈!!!
      

  7.   

    ==================================
    stride(赛扬):
      这种题目真他妈傻B!!
    ==================================
    ???问这种题目的人就是傻B吗?那你有没有当过傻B?
    你说这句话是不是要说明你很牛B?你要知道这里牛B的人一大把哦!
    人家不懂就问嘛!干嘛要打击人家呢?
      

  8.   

    当你想灵活的使用ejb时,而对可移制性要求不高时,使用bmp。否则使用cmp
      

  9.   

    CMP周期短,简单,但有依赖性,
      

  10.   

    其实你想知道他们的区别的话
    你去看看书上怎么说的就可以了
    cmp代表的是容器管理模式container
    bmp代表的是bean管理模式
      

  11.   

    CMP比较适合单一的表影射操作。比如你可以把一个客户表对应做成一个CMP
    BMP比较适合一组负责业务的操作。比如你可以把一个财务三级报表做成一个BMP。
      

  12.   

    当你用cmp无法解决的时候,那么就只好用bmp了
      

  13.   

    一般来讲,cmp都能管理,除非你认为效率有问题,否则,没有必要用bmp
      

  14.   

    再说一点,对于多表关系,复杂的字段映射,用bmp可能
    更加容易解决。cmp的灵活性相对比较差
      

  15.   

    你想自己管理事务的时候
    就只能用bmp,不能用cmp,:)
      

  16.   

    cmp是容器管理持久性,bmp是bean管理持久性。cmp的持久性(包括生存期,数据库连接等)都是由ejb container(ejb容器)来管理的。bmp则所有的事情都必须由bean来完成,也就是说使用cmp时许多工作都是由服务器(准确的说是ejb容器)来完成的。而bmp则要你来做啦。例如你将一个实体bean连接到一张数据库表上。使用cmp,你只需要建立好cmp与表的映射关系就可以啦。而bmp不仅要建立映射关系,而且数据库连接,断开等等都需要你自己来做。cmp的复杂性要小于bmp,但是灵活性不如bmp,但是我认为一般情况下cmp较bmp用得多,因为简单的多。另外cmp和bmp的外部接口都是一样的,只是内部实现和部署描述不一样,因此如果你把一个cmp改写成一个bmp,或者反之,客户程序是一点也感觉不出来的。EJB2.0由于ejb-ql的加入使得cmp的灵活性大幅度增加,个人感觉对于普通的需求cmp完全可以啦,除非你有特殊要求。比如想在ejb连接数据库的时候,提醒你老婆的生日到啦,该送花啦。
      

  17.   

    kao怎么这么多高手?!狂学ing
      

  18.   

    如果想在程序中手动控制事务或想与别的系统如corba集成,就用bmp,一般推荐用cmp,因为ejb2.0对cmp有了全新的定义,新一代的ejbql语言已经成为标准,这种基于对象的类似于sql语句的语言,很可能最后在ejb中取代sql,它支持排序,合计等多种计算。cmp对事务自行控制,字段也自行控制,而且加入了关系的概念,可以使cmp之间支持关系操作,什么简单。但缺点是不太通用,配置麻烦,针对不同的容器要不同的配置,抑止差,不象bmp那样移植好,配置简单,但效率肯定是cmp远远高于bmp