EJB CMP/BMP

原创 2007年09月19日 08:18:00

EJB有两种主要类型BMP(Bean    managed    persistence    )和CMP(Container    managed    persistence    ),这两种类型各有优缺点。   
    
   BMP是在Bean中完成对数据库JDBC的各种调用,也就是说,在你的实体bean(entity    bean)中,明确写入了SQL语句,如"insert    ..    "或"select    ..",并且使用Datasource获得一个数据库资源以及连接(connection)从而对数据库直接进行增加    删除修改。   
    
   CMP是由EJB容器自动完成对数据库的操作,你所有做的,就是在实体bean重写入SetXXX或getXXX方法,然后在ejb-jar.xml中定义cmp-field就可以。   
    
   很明显,CMP编写要简单多,而且数据库操作由EJB容器完成应该是一种趋势,但是CMP有个缺点就是不够灵活,如果我们要完成类似SQL搜索语句的like命令,如"select    *    from    A    where    name    like    '%banqiao'",CMP就无法自动帮助我们完成,这样我们就需要BMP自己来写。   
    
   在实际应用,一般为了效率考虑,我们尽量使用CMP,但如何为将来有可能使用BMP作好准备,就是说有可以延伸到BMP的基础。EJB    2.0对CMP的抽象类支持为我们提供了这种实现的基础。   
    
   总体思路是,先使用抽象类完成CMP    如果需要BMP    可以extend这个抽象类,然后覆盖原来的方法(用自己的特殊SQL语句操作来覆盖该方法)。   

 

EJB/CMP的优点:   ● 采用工厂类(指Home)查找实例比向Session/Connection对象传递参数获取实例要好。   ● ejbSelect跟上面说的类似。   ● 查询名称使用abstract schma是一个很好的解决方案。   ● 理论上来说,这种模式在某些方案中可以有更好的复用性。   EJB/CMP的优点:   ● CMP不属于EJB规范。它并不是个合适的模型去实现这个目的。已经没有合适的(例如非官方)借口去让EJB3.0中保留CMP。 

相关文章推荐

(老)EJB JBoss CMP学习笔记

1.准备 JBuilder 2006 JBoss 4.0 MSSQL 2000 MSSQL 2000 JAR 启动MSSQL2000 2.复制MSSQL2000 JAR包到 JBuil...

华科cmp

  • 2013年02月16日 15:38
  • 1.28MB
  • 下载

shell学习四十七天----文件比较cmp,diff,patch

文件比较 所谓的文件比较,一般设计四个领域 1.检查两个文件是否相同,如果不同,找不哪里不同 2.应用两个文件的不同之处,使从其中一个回复另外一个 3.使用校验和找出相同一致的文件 4.使用...

龙权最新cmp4皮肤

  • 2010年04月29日 05:05
  • 206KB
  • 下载

2012CMP4皮肤

  • 2012年11月24日 02:28
  • 62KB
  • 下载

汇编基础--cmp汇编指令

 cmp是比较指令,cmp的功能相当于减法指令。它不保存结果,只是影响相应的标志位。其他的指令通过识别这些被影响的标志位来得知比较结果。     cmp指令格式:   cmp   操作对象1, 操作对...
  • wfq_1985
  • wfq_1985
  • 2011年01月27日 10:34
  • 25742

CMP Books - Embedded Systems Design

  • 2008年12月16日 11:51
  • 2.84MB
  • 下载

DZR-CMP蓝牙串口模块说明

  • 2012年07月30日 17:02
  • 3.14MB
  • 下载

C++中 qsort中cmp函数写法汇总

来源:http://blog.sina.com.cn/s/blog_3eeb732b0100h0uw.html 七种qsort排序方法  其中的qsort函数包含在的头文件里,strcmp包含...
  • qq248
  • qq248
  • 2016年08月25日 16:58
  • 109
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EJB CMP/BMP
举报原因:
原因补充:

(最多只允许输入30个字)