Integrity Over Profit
Your database IS
your object model
Object-oriented programming allows the developer to combine data structures and behavior into a black box called an object. This is great for instances where neither the data structure nor the behavior of the object needs to be malleable over the life of the application, such as an object for session management.
Application lifetime
However, life of the application means something very different today than it did when CDs were being printed and shipped. For all intents and purposes the life of the application that was burned to a CD was simply that one release. Now, with the advent of web applications, the life of the application does not end with a release – in fact it does not end until the website ceases to exist.
Application code must be malleable
Not only do the requirements for a web application change almost daily based on what users tell the business they want and need as they use the website, but business itself has so accelerated that the business requirements themselves are constantly changing the web application requirements. In the days when the “life of the application” was restricted to one release, it was okay to bind data to behavior by building everything in objects because the code did not need to be malleable. That is no longer true.
Flexibility is the highest priority
For web applications, flexibility is of the highest priority. Flexibility comes from abstracting the data from the behavior. This abstraction allows for any data to be wired to any behavior and vice-versa. Objects, in the absence of behavior, simply contain data structures.
Given that it makes no sense to remodel your database data structures as objects in your application code, your database IS your object model.