Hibernate is a popular open-source Java framework. It aims to solve problems associated with persistence in the Java world. Whether you are developing a simple stand-alone application, or a full-blown, server-side Java EE application, you can use and benefit from Hibernate. Although Hibernate has competitors, no other persistence framework is as flexible and as easy to learn.
Spring is another popular framework. It aims to simplify Java development in many areas, including persistence. However, Spring does not provide a persistence framework similar to Hibernate. Instead, it provides an abstraction layer over Hibernate to offer more flexibility, produce more effective code, and reduce maintenance costs.