我认为是Use BMP when storing complex datatypes and performance is essential
的对。我把我的想法说一下:
BMP是Bean管理的持久性,那么它的生命周期的所用方法都由Bean的开发者来实现,在开发者实现Bean的时候就可以处理复杂的数据类型,(也就是可以自主的把复杂的数据类型映射到数据库中的相应的字段),同时开发者自己维护生命期的方法,那么在这些方法中,可以自己提供优化方法。我们知道BMP Bean一般是与数据库打联系,那么我们可以优化数据库的交互操作,减少与数据库的操作,这里我可以提供两种优化方法一种是用在ejbLoad()时的叫:赖装入:在这个方法中可以设置一比较大的字段等到需要时在从数据库中装入。第二种为用在ejbStore()时候:叫Modifed标志。也就是在BMP Bean本身的数据没有变化是,就没有必要与数据库进行同步操作。设置标志,只有等到某个字段变化是在选择ejbStore()方法同步数据库:÷而CMP就没有这样的灵活性。它的生命周期的方法都是由容器实现的。所以开发者很难灵活的对其进行优化和处理complex datatypes 。
但是Bmp和Cmp个由个的优点: 总结:如果你操作的是complex datatypes 而且对Bean的性能要求很高,则应该用BMP>
谢谢!
的对。我把我的想法说一下:
BMP是Bean管理的持久性,那么它的生命周期的所用方法都由Bean的开发者来实现,在开发者实现Bean的时候就可以处理复杂的数据类型,(也就是可以自主的把复杂的数据类型映射到数据库中的相应的字段),同时开发者自己维护生命期的方法,那么在这些方法中,可以自己提供优化方法。我们知道BMP Bean一般是与数据库打联系,那么我们可以优化数据库的交互操作,减少与数据库的操作,这里我可以提供两种优化方法一种是用在ejbLoad()时的叫:赖装入:在这个方法中可以设置一比较大的字段等到需要时在从数据库中装入。第二种为用在ejbStore()时候:叫Modifed标志。也就是在BMP Bean本身的数据没有变化是,就没有必要与数据库进行同步操作。设置标志,只有等到某个字段变化是在选择ejbStore()方法同步数据库:÷而CMP就没有这样的灵活性。它的生命周期的方法都是由容器实现的。所以开发者很难灵活的对其进行优化和处理complex datatypes 。
但是Bmp和Cmp个由个的优点: 总结:如果你操作的是complex datatypes 而且对Bean的性能要求很高,则应该用BMP>
谢谢!
解决方案 »
- 求解:sso登陆java项目,但是后面的参数却只解析一个
- struts2配置中关于在的actionName中加$的问题请教
- 同一台电脑是否可以同时启动两个开发工具
- Java读取大容量图片的问题
- jsp开发WAP网站的问题
- 求JAVA网络视频教程
- 卡着两天了,sos sos
- 为什么微软的mssql jdbc驱动不支持 java.sql.Types.OTHER! 请问哪里有支持的驱动?
- 学习了j2ee,找个项目自己练练。谁能给我发个项目的详细设计文档啊,所有的分都送给他。
- 关于ejb及其部署等若干问题。
- 如何通过程序向一个jsp页面提交xml的内容
- 无论将1.2或者是1.0的struts-example.war COPY 到tomcat/webapps目录下,启动tomcat都出现错误!!!!!!
storing complex datatypes 肯定是对的
问题是performance
cmp的jdbc代码由容器实现,好的容器对这些代码是做了极端的优化的,除了精通jdbc的人,一般写的jdbc代码performance 应该不如cmp的好