1. A method for accessing data in an environment having multiple data repositories, comprising: providing a query specification defining a data abstraction model abstracting at least one relational database, wherein the query specification defines a plurality of logical fields used to compose an abstract query independently from a schema of the at least one relational database, wherein the definition for each logical field specifies at least an access method for accessing data in the at least one relational database, the access methods being selected from at least two different access method types, wherein at least a first logical field provides query optimization data for optimizing at least one of an abstract query composed using the logical fields of the data abstraction model and a corresponding resolved query generated from the abstract query, and wherein the query optimization data includes information related to a relationship between the first logical field and a second logical field included in the data abstraction model; receiving, from a requesting entity, an abstract query composed from one or more of the logical fields, wherein the received abstract query includes the first logical field and the second logical field; generating, from the received abstract query, a resolved query consistent with the schema of the at least one relational database to the access method defined for each logical field in the received abstract query; and optimizing the resolved query using the query optimization data provided for the first logical field and the second logical field; executing the optimized query to retrieve a set of data from the at least one relational database consistent with the abstract query; and presenting the set of data to the requesting entity.