A computer-implemented method of accessing data represented by a dimensional model, comprising: automatically generating a dimensional model from an initial object model based on, as inputs, a specification of focal points representing certain data in the object model that is marked by the user as being a focal point of analysis, an object description, and a set of persistent data store mappings, wherein foreign key relationships of the dimensional model are inferred from the initial object model using associations and compositions in the initial object model specified by the object description; generating an object model based on the dimensional model, comprising: retrieving a fact table from the dimensional model; generating a primary entity in the object model based on the retrieved fact table; generating a non-primary entity in the object model based on a dimension (268, 270) of the retrieved fact table; and relating the primary entity and non-primary entity in the object model based on a foreign key relationship between the fact table and the dimension; and querying the object model to access the data, comprising: executing an object oriented query expression against the object model; translating the object oriented query expression into a dimensional model query expression; and executing the dimensional model query expression against the dimensional model. automatically generating a dimensional model from an initial object model based on, as inputs, a specification of focal points representing certain data in the object model that is marked by the user as being a focal point of analysis, an object description, and a set of persistent data store mappings, wherein foreign key relationships of the dimensional model are inferred from the initial object model using associations and compositions in the initial object model specified by the object description; generating an object model based on the dimensional model, comprising: retrieving a fact table from the dimensional model; generating a primary entity in the object model based on the retrieved fact table; generating a non-primary entity in the object model based on a dimension (268, 270) of the retrieved fact table; and relating the primary entity and non-primary entity in the object model based on a foreign key relationship between the fact table and the dimension; and retrieving a fact table from the dimensional model; generating a primary entity in the object model based on the retrieved fact table; generating a non-primary entity in the object model based on a dimension (268, 270) of the retrieved fact table; and relating the primary entity and non-primary entity in the object model based on a foreign key relationship between the fact table and the dimension; and querying the object model to access the data, comprising: executing an object oriented query expression against the object model; translating the object oriented query expression into a dimensional model query expression; and executing the dimensional model query expression against the dimensional model. executing an object oriented query expression against the object model; translating the object oriented query expression into a dimensional model query expression; and executing the dimensional model query expression against the dimensional model.