1. A method, comprising: obtaining, by a computing device, a domain model from a repository, wherein the domain model is generated to include metadata corresponding to a set of domain data stored in the repository and is generated in accordance with an input data description for the set of domain data, wherein the metadata of the domain model defines one or more domain types and one or more attribute definitions for the set of domain data stored in the repository; generating, by the computing device, a database view of a subset of the set of domain data using the metadata, wherein the database view is generated based on a query statement referencing the subset of domain data and wherein the database view defines a table representing the subset of domain data; generating, by the computing device, a class object for the subset of domain data using the metadata; generating, by the computing device, mapping information by mapping the generated database view to the generated class object; retrieving, by the computing device, the subset of domain data from the repository using the database view, the class object, and the mapping information; receiving, by the computing device, a user query for the subset of domain data; determining, by the computing device, a domain type from the user query, the domain type corresponding to a domain type of the subset of domain data defined by the metadata; determining, by the computing device, the class object for the subset of data based on the domain type determined from the user query; determining, by the computing device, the database view of the subset of data using the mapping information between the class object and the database view; performing a query on the database view to retrieve the subset of domain data from the repository; translating the user query into a structured query language statement using the class object, wherein performing the query on the database view includes performing the structured query language statement on the database view to retrieve the subset of domain data from the repository; and outputting the subset of domain data as a result of the user query.