As opposed to entity beans with container-managed persistence (CMPs), where the code for persisting serializable data is included in the container, entity beans with bean-managed persistence include the code for any persistence mechanism. For example, any JDBC code that you require to manage persistence needs to be manually coded in the entity bean class or in helper classes.
A BMP entity bean can also be used where data exists in an application rather than a database. In other words, if the data source is not supported by CMP entity beans, it is likely that a BMP would be an appropriate alternative, which would allow you to use non-JDBC databases and stored procedures.
To create an entity bean with bean-managed persistence (BMP):