有关BMP和CMP的问题

drnstar 2003-08-22 10:30:59
请问各位高手在实际使用EJB2.0规范的j2EE项目中

1.如何确定是使用BMP还是CMP?
2.J2EE项目的成功与使用BMP、CMP或者是会话BEANS是否有关?

欢迎大家讨论、学习!
...全文
74 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fkpwolf 2003-08-25
  • 打赏
  • 举报
回复
应该跟表大表小没有关系.表大用CMP可以序列化部分的字段.
>>CMP好慢啊!(JBOSS 当 远程访问 ORACLE时)(10000条记录吧)
>>访问本地 的 MYSQL就快的多了!
remote和homelocal的速度当然不在一个数量级上.一般实体BEAN都通过session bean本地访问.
fkpwolf 2003-08-25
  • 打赏
  • 举报
回复
<<精通EJB>>上表许如下:
1.CMP能够快速开发
2.CMP可以比BMP有更高的性能(容器相关)
3.CMP比bmp更难调试
4.cpm可以对jdbc完全控制
5.bmp可以保持数据独立性
5.对应关联,CMP更加容易
drnstar 2003-08-25
  • 打赏
  • 举报
回复
请问各位高手 在实际的使用中CMP和BMP哪一个执行效率更高,另外执行效率和所选用的服务器有关吗?
drnstar 2003-08-22
  • 打赏
  • 举报
回复
请各位高手谈谈在实际项目中的具体应用和感受
hesi726 2003-08-22
  • 打赏
  • 举报
回复
每次 get一次,就 load,store yici
hesi726 2003-08-22
  • 打赏
  • 举报
回复
当表比较小时,使用 CMP!
表很大时,建议使用 BMP!

CMP好慢啊!(JBOSS 当 远程访问 ORACLE时)(10000条记录吧)
访问本地 的 MYSQL就快的多了!
Leric 2003-08-22
  • 打赏
  • 举报
回复
因为CMP不需要编写数据库访问的代码,所以CMP实现的实体Bean比BMP实现的实体Bean的代码少得多。例如本章中讨论的PlayerBean.java源文件要比第5章的代码文件SavingsAccountBean.java小得多。下表比较了两种不同类型实体Bean实现代码的不同:
表6-1两种持久性机制的编码比较
CMP和BMP实现实体Bean的代码比较

不同点 CMP BMP

企业Bean类定义 抽象 非抽象
数据库访问代码 由工具产生 开发者编码
持久性状态 虚拟持久字段表示 代码中的实例变量表示
持久性字段和关系字段的访问方法 必须 不是必须
findByPrimaryKey方法 由容器处理 开发者编码
其他查找方法 容器根据开发者定义的EJB QL查询自动处理 开发者编码
select方法 容器处理 不需要
ejbCreate方法的返回值 应该为null 必须是主键类
注意:对于两种持久性机制,商业方法和Home方法的实现规则都是一样的
drnstar 2003-08-22
  • 打赏
  • 举报
回复
帮自己UP一下吧
戚爱斌 2003-08-22
  • 打赏
  • 举报
回复
同意,根据表的大小来决定!

CMP比较低省事,也安全!!
Morgan_ma 2003-08-22
  • 打赏
  • 举报
回复
多表关联操作使用bmp,灵活,方便自己控制。。。

少的话,cmp,省时省力。。。
ll42002 2003-08-22
  • 打赏
  • 举报
回复
单表而且处理记录数比较小建议用CMP!
但是涉及到多表大记录集操作建议用BMP!
还有执行批操作时用BMP!
drnstar 2003-08-22
  • 打赏
  • 举报
回复
up

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧