Hibernate es una herramienta de mapeo de objetos / relacional. Es muy popular entre las aplicaciones Java e implementa la API Java Persistence.
Hibernate ORM permite a los desarrolladores escribir más fácilmente aplicaciones cuyos datos sobreviven al proceso de la aplicación.
Las características clave incluyen:
- Proveedor de JPA: además de su propia API "nativa", Hibernate también es una implementación de la especificación de Java Persistence API (JPA). Como tal, se puede usar fácilmente en cualquier entorno que admita JPA, incluidas las aplicaciones Java SE, los servidores de aplicaciones Java EE, los contenedores Enterprise OSGi, etc.
- Persistencia idiomática: Hibernate le permite desarrollar clases persistentes siguiendo expresiones idiomáticas naturales orientadas a objetos que incluyen herencia, polimorfismo, asociación, composición y el marco de colecciones de Java. Hibernate no requiere interfaces o clases base para clases persistentes y permite que cualquier clase o estructura de datos sea persistente.
- Escalable: Hibernate fue diseñado para trabajar en un clúster de servidores de aplicaciones y ofrecer una arquitectura altamente escalable. Hibernate escala bien en cualquier entorno: utilícelo para manejar su Intranet interna que sirve a cientos de usuarios o para aplicaciones de misión crítica que sirven a cientos de miles.
- Confiable: Hibernate es bien conocido por su excelente estabilidad y calidad, comprobada por la aceptación y el uso de decenas de miles de desarrolladores de Java.
- Extensibile: Hibernate es altamente configurable y extensible. Se puede modificar para adaptarse mejor a las necesidades y requisitos específicos.
Como marco de Object / Relational Mapping (ORM), Hibernate se preocupa por la persistencia de los datos, ya que se aplica a las bases de datos relacionales (a través de JDBC).