You can change the database with each change to your object model, but this can lead to many very small database calls, which ends up being very slow.
It requires you to have a transaction open for the entire interaction, which is impractical if you have a business transaction that spans multiple requests.