1. A method to automatically regenerate software for an object to relational mapping system, the method including: reading class information respectively associated with a first plurality of classes, classes, the class information comprises a configuration file containing meta-data and a class definition file including at least one template defining at least one rule applied to meta-data in the configuration file to regenerate a class; and automatically regenerating the first plurality of classes based on the configuration file and the class definition file, the first plurality of classes including base code that is associated with a second plurality of classes including custom code, the first plurality of classes to be regenerated without overwriting the second plurality of classes including the custom code, the first plurality of classes and the second plurality of classes utilized by the object to relational mapping system to enable an application program to access data that is persistently stored in a database, the second plurality of classes respectively inheriting from the first plurality of classes, and the first plurality of classes including a first class and a second class, the first class utilized to automatically retrieve data to construct a plurality of data objects respectively instantiated based on the second class, the first plurality of classes and the second plurality of classes each include a class having business rules defining access to the data.