I'm interested why not to store all application data in memory in object model?
For example:
On load, server get completly all Objects from DB, and create Object model.
If we need to get some objects, we do simle query Hibernate, Xpath or Xquery style. Or use only getters like this:
Code:
client = ClientObjects.getClientById(id);
client.getAddresses().iterator().next()
For save in DB we just use transactions and set methods. For example:
Code:
transaction.start();
client.setName(clientName);
transaction.end();
Advantages:
If use that method of data storage in application, we dont need to do superfluous Queries to DB.
We can dont know anythig about DB, SQL and queries. (Get needed data only by getters). We can work only with object model.
Disadvantages:
We cannot do datafixes without reload or resynchronisation data.
Additional memory may be needed. (In my company DB data take about 200Mb. I think its not a problem)
Maybe you know other advantages/disadvantages?
Or maybe you know already implemented tools for that functionality?
Sorry for my English :)