容器生成的JDBC代碼實際上它是根據你的XML部署文件生成的,這樣一來做中間件的供應商可以隻提供EJB CLASS給用戶而不是源代碼,假如用戶要有所修改,可以修改XML部署文件達到功能!!

解决方案 »

  1.   

    CMP在部署时都要指定一些数据源,而这个数据源是要在容器中定义的与CMP的业务逻辑没有什么关系,对于CMP来说与数据库的操作如添加、删除什么的都是容器自动生成并与指定的数据源相互操作与开发者无关,使用不同数据库时只要修改数据源就可以了,对业务逻辑没有影响所以体现了相互分离的特点
      

  2.   

    容器生成的也是JDBC代码,那岂不又和具体的存储联系了?
           应该是这样的!!   在J2EE中,如果某些数据库需要编写特殊的JDBC代码的话,对CMP而言,这一工作最好留给EJB容器来完成,这样EJB可以实现最好的可移植性。  尽量保证高度可移植性正式J2EE的出发点和精髓吧!