But as I said before, one size doesn't fit all. If your database design is relatively simple, and your applications tend to manipulate only one or two tables at a time, then the database-oriented approach is the right one for you. But in my experience, database designs are pretty complicated, and most applications need to manipulate multiple tables at once. These applications might do better using an object-oriented style of programming. Objects are richer than database tables.
Objects maintain relationships with other objects.
This relationship information is immediately available from an in-memory object graph. To obtain this same level of relationship information from a relational database, you would need to query the database and join a potentially horrendous number of tables. Entity beans allow you to maintain all of this information is memory, and the information is available to any number of clients. Accessing data from memory is much, much faster than accessing data from a database. Some EJB implementations provide an in-memory object caching system that effectively duplicates the capabilities of a database.