BMP beans are tied very closely to a database schema (the code to access specific tables and column names is hardcoded in the bean itself.) CMP beans can be configured at deployment time;
Therefore, CMP beans are a better choice in terms of maintainability and convenience