个人认为
用无状态SESSIONBEAN+JDBC更好

解决方案 »

  1.   

    因为CMP目前仍然不够完善
    对于复杂的查询工作,它不胜任
    现在很多软件公司,做EJB的时候,经常是
    简单的查询用CMP
    要完成复杂的数据操作,比如一个方法中要包括
    查询、插入、更新
    就用无状态SESSIONBEAN+JDBC其实,用CMP最大的好处是write once run anywhere
    如果你的项目中没有这样的需求(我想很少有项目会有这样的需求的)
    那就完全没必要用CMP
    SESSIONBEAN+JDBC会让你在编程、调试上感觉跟容易和轻松
      

  2.   

    CMP是Container负责同步Bean状态与基础数据库,客户可以在Bean寿命周期中多次修改Bean状态,Container主要负责Bean的数据一致性与完整性。注意CMP要求基础数据库是关系数据库。BMP要求编程人员负责同步Bean状态与基础数据库,编程人员要在Bean实现类中编码所有需要的SQL语句和JDBC调用。CMP Container直接提供服务,BMP需要自己手写一定的代码。但使用BMP 可以增加设计的灵活性或在非关系型存贮中支持持久性。特别在实体Bean中要表示在多个表格中存储状态的累计对象,就必须使用CMP。所以一般还是用BMP,而且很容易上手。我现在在金仕达开发的一个项目就是使用BMP形式的EJB.