Unless you’re writing a trivial application—or perhaps a non-trivial application that’s off the beaten path—you’re probably going to want to store data in a database. Java technology provides many ways to do that, both open-source and proprietary, but ostensibly the most popular is Hibernate.
Hibernate is an object-to-relational mapping (ORM) tool that maps Java classes to database tables and manages storage and retrieval of Java objects to and from the database. Hibernate is popular because it lets you use plain old Java objects (POJOs) that contain no knowledge of your database schema whatsoever. That gives you a great deal of flexibility and simplifies the coding of your model layer.