eXtended Objects - Lightweight and flexible datastore mapping of Java domain objects