Description: Most enterprise applications have to interact heavily with their back-end databases. To make such interactions possible and make them efficient and fast, enterprise application developers create a \"persistence layer\" between the application and underlying database, which takes care of storing data from application to the database and retrieving it back, alongside updating and deleting it. In J2EE-based enterprise applications, this persistence layer consists of Java classes that map objects to data and vice versa. This layer is often built using JDBC, entity beans, JDO, and so forth.