What's DQGen?

Dynamic Query Generation (DQGen) Framework is a data-access framework specialized for reporting needs. The idea behind this framework is to view the underlying data source as logically related data sets. The framework exposes a criteria API to dynamically construct the SQL queries. The criteria API allows the user to create correlated queries (Doesn't expect the from clause to be specified by the user. Makes use of the predefined logical relationships) and un-correlated queries (Traditional query where the user has to specify the from clause)

How does it work?

The framework expects the user to identify all the roles a relational table maintain. For instance, the USER table in a cart application can have two roles BUYER & SELLER and the same table in an organization could have the roles EMPLOYEE, MANAGER & HR_MANAGER. Once the roles are identified, the user has to define logical relationship between them. The framework then creates meta models for the logical data sets which can be used in conjunction with the criteria API to generate the queries.

The framework provides tools to generate the logical relationships and the meta model classes. The figure below shows the high level work flow,

Where can I use it?

The framework can be used in any reporting arena that requires dynamic query generation. Below are some of the use cases where it can be fit



The beta version (1.0) is available for download,