QueryResult now holds a reference to the DB cursor and processes the objects as and when required
Updated relations to be stored as a QueryResult but define their model in the annotation to improve loading time