13. A non-transitory machine-readable medium storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising: instructions that cause the one or more processors to obtain a domain model from a repository, 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; instructions that cause the one or more processors to generate 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; instructions that cause the one or more processors to generate a class object for the subset of domain data using the metadata; instructions that cause the one or more processors to generate mapping information by mapping the generated database view to the generated class object; instructions that cause the one or more processors to retrieve the subset of domain data from the repository using the database view, the class object, and the mapping information; instructions that cause the one or more processors to receive a user query for the subset of domain data; instructions that cause the one or more processors to determine 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; instructions that cause the one or more processors to determine the class object for the subset of data based on the domain type determined from the user query; instructions that cause the one or more processors to translate the user query into a structured query language query using the class object; instructions that cause the one or more processors to determine the database view of the subset of data using the mapping information between the class object and the database view; instructions that cause the one or more processors to perform the structured query language query on the database view to retrieve the subset of domain data from the repository; and instructions that cause the one or more processors to output the subset of domain data as a result of the user query.
16. The machine-readable medium of claim 13 , wherein the set of domain data is stored in the repository in a generic structure with no correspondence to the domain model, and wherein the database view represents the subset of domain data as a virtual table with a specific structure corresponding to the domain model.