比起JDBC,CMP节省了不少代码量,而且它与具体的数据库无关!
你说修改一条记录要先找出来,其实SQL不也是这样话的吗/只不过你用where而已嘛,
我想CMP给人的好处在于它比JDBC更简单,容易,可移植性强,你说呢

解决方案 »

  1.   

    CMP是用容器来管理的,所以它的好处如楼上所说,而且他的性能也比较好。
    这样做更安全,而且ejb本身就提供了事务处理
    我跟人认为cmp在做单表查询比较好
    如果是多表的话,最好用bmp那样的灵活性更大一点
      

  2.   

    节省代码,但灵活性就没有BMP好了
      

  3.   

    to: jinsanqi(鸟人) 
    那么对多条记录操作也用cmp吗?to: sandyen(杉叶) 
    你的意思对多个表操作用bmp是不是更方便?
      

  4.   

    看看j2ee设计模式吧,最好不要把ejb映射到数据库中一行,这样的细粒度的设计会产生大量的ejb的实例,给服务器带来沉重的负担
      

  5.   

    可用剥离JDBC代码,这样的话后台数据源的变化就可用忽略了。CMP的代码就比较干净了
      

  6.   

    http://expert.csdn.net/Expert/topic/1681/1681202.xml?temp=.4396631
      

  7.   

    CMP的代码比较清晰,可读性强
      

  8.   

    另外有个问题,CMP能建表么?
      

  9.   

    to zzhangwa(化石和石头)
    可以
      

  10.   

    CMP是用容器来管理的,他的性能也比较好。
    我个人认为cmp在做单表查询比较好
      

  11.   

    cmp最適合做Create,Update,Delete的動作. 查詢不適合.
      

  12.   

    http://expert.csdn.net/Expert/topic/1681/1681202.xml?temp=.4396631
      

  13.   

    第一:cmp通过deploy descripter 定义的规范来执行数据库的更新和调用,
    在CMP里可以对数据库的BEAN实现生命周期的自动同步.
    这样你的bean实现编写就变得更方便了,
    而你就可以把集中焦点放在开发商业逻辑上了!第二:BMP直接将数据库调用和更新statement写在callback方法里来实现管理的persistence.
    比如用ejbUpdate方法来update数据库,用ejbFindByPrimaryKey来通过主键定位一行!!
    !!!
      

  14.   

    说真的,如果你只是做一个小程序,用CMP实在太浪费了,整个J2EE架构的思想就是由于软件日益复杂而提出的一个标准。当你真正有了大型系统开发经验之后,你就会品尝到CMP带来的好处,尤其是在日后维护这个环节上。
      

  15.   

    针对于多表、关系表、主键外键、等等如果你使用session bean 来维护的话,除了在数据库端设置外,自己在程序中会增加许多不必要的负担,而这些负担EJB2.0容器早已为你准备好了。无需自己维护容易出错的SQL statemnt,你只需要建立 CMP/CMR关系就可 。再使用Jbuilder的强大集成功能,就可快速开发出功能强大、稳定的企业级程序。CMP2.0绝对是首选。
      

  16.   

    就单纯实现bean的话,用CMP功能更强大,只是配置deploy descripter 时有点麻烦而已.