É um framework para mapeamento objeto-relacional (ORM) cujo objetivo é diminuir a complexidade entre programadores java que precisam trabalhar com banco de dados do modelo relacional.
Relação com JPA -
A JPA-Java Persistence API é o padrão adotado pelo Java para soluções ORM (Objeto Mapeamento Relacional). A JPA define as regras ORM via anotações, mas por ser uma especificação ou padrão ela depende de um provider. Nessa aplicação poderá ser utilizado o HIBERNATE como provider JPA.