10. The system of claim 9 , wherein the one or more processors are further configurable to: generate a class object and a database view for each domain type of the one or more domain types.
9. A system, comprising: a memory storing a plurality of instructions; and one or more processors configurable 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; 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; generate a class object for the subset of domain data using the metadata; generate mapping information by mapping the generated database view to the generated class object; retrieve the subset of domain data from the repository using the database view, the class object, and the mapping information; receive a user query for the subset of domain data; 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; determine the class object for the subset of data based on the domain type determined from the user query; translate the user query into a structured query language query using the class object; determine the database view of the subset of data using the mapping information between the class object and the database view; perform the structured query language query on the database view to retrieve the subset of domain data from the repository; and output the subset of domain data as a result of the user query.