DAO (Data Access Object) is a design
pattern that describes a method for isolating an application from the details of how you actually access the data.
Hibernate is a specific persistence technology for implementing data access. using the Object-relational mapping technique.