我认为是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>
谢谢!