I'm confused. I've heard the EJB 2.0 spec says you must use CMP for entity beans yet I keep reading about what a developer has to do if he is using BMP entity beans. Is it true, that the entity bean developer has a choice or must he always use CMP?
data persistence is managed by bean...actually, defined by bean for CMP. CMP let you define abstract method for getter and setter, but not the actual instance variable. The container will generate necessary code for database processing. Whatever, you need to do something in your bean code even in CMP. Transaction is defined in DD. I mean, you cannot define a method is in trasaction or not in your bean code, and you can only do that in DD.
Persistence relates to how a bean gets data from the data source and saves data back to that source. Transactions are statements that succeed or fail as an atomic unit.