Persistence framework
A persistence framework is a middleware that assists and automates the storage of program data into databases, especially relational databases.
It acts as a layer of abstraction between the application and the database, typically bridging any conceptual differences between the two.
Many persistence frameworks are also object-relational mapping tools. Such frameworks map the objects in the application domain to data that needs to be persisted in a database. The mappings can be defined using either XML files or metadata annotations.