1. A method of presenting a user with a set of query results retrieved from a database, comprising: receiving, from a requesting entity, a request to view data in the database related to a model entity predefined as a set of logically related data fields, wherein the model entity identifies an identifier in the underlying database used to identify instances of the model entity; retrieving an abstract record corresponding to the model entity, wherein the abstract record identifies a hierarchy of logical fields related to the model entity; identifying each instance of the model entity included in the query results; for each identified instance, populating a copy of the abstract record with the retrieved query results corresponding to the instance of the model entity; and returning, to the requesting entity, the identified instances of the model entity and the populated copies of the abstract record; wherein the query results are retrieved responsive to an abstract query and via an abstract query plan provided for the abstract query, wherein the abstract query plan specifies: (i) a set of conditions, each condition including a logical field, a conditional operator, and a comparison value, (ii) one of the plurality of model entities and (iii) logical fields from the plurality of logical fields used to retrieve a set of query results that satisfy the set of conditions; and wherein providing the abstract query plan comprises: determining, for each condition specified by the abstract query, whether a path exists from a root logical field of the hierarchy to a child logical field of the hierarchy matching the logical field in the condition.