The Generic Repository (grepo) is an open source (ASLv2) framework for Java which allows you to access (database) repositories in a generic and consistent manner. Using grepo, it is generally no longer required to provide all the boilerplate code which is necessary in order to access (database) repositories from Java. All you have to do is write appropriate database code (queries, procedures, functions etc.), an appropriately annotated Java interface, and very little Spring configuration. Using the framework has the following advantages:
The main goals of the framework are:
The main features of the framework are:
The framework consists of the following main components:
The "Generic Query" component allows to access databases using SQL queries. Currently the following ORM (Object Relational Mapping) tools/APIs are supported:
The gquery component defines a set of (default) rules for repositories which may be customized/extended for custom/special needs. The framework provides default implementations for both "read-only" and "read-write" repositories which may be used for basic CRUD operations. However its up to you to provide your own implementation(s) if desired. Furthermore gquery offers the possibility to define and execute various queries (SQL, HQL, JPQL) and DAO methods without requiring custom implementations.
The "Generic Procedure" component allows to access databases using PLSQL (that is calling stored procedures and/or functions) without requiring custom implementations - gprocedure is build on top of the Spring (JDBC) framework.