Hibernate

De Viquipèdia
Dreceres ràpides: navegació, cerca

Hibernate és una solució implementada pel mapeig d'objectes relacionals (ORM) per aplicacions Java, sobre una base de dades relacional. Els seus propòsits bàsics són els d'alliberar el programador d'un seguit de tasques pròpies de la persistència de dades relacionals i dotar les aplicacions de portabilitat entre SGBDs diferents.

Hibernate és lliure, de codi obert i està distribuït sota la GNU Lesser General Public License

Funcionalitats[modifica | modifica el codi]

La funcionalitat bàsica d'Hibernate és la del mapeig de classes Java en taules de Base de Dades i tipus de dades Java sobre tipus de dades d'SQL. Hibernate també proveeix un llenguatge de consulta (Hibernate Query Language, HQL) i facilitats per la recuperació de dades. Hibernate genera les crides SQL i delega al desenvolupador la gestió manual del resultat de la consulta i la conversió a objectes. Gràcies a això una aplicació pot ser portable a la majoria de bases de dades SQL, amb mínima càrrega addicional. El requeriment necessari perquè una aplicació basada en hibernate pugui usar una base dades SQL és que existeixi el controlador de software (driver) encarregat de la traducció d'HQL al dialecte SQL del SGBD sobre el qual ha de córrer l'aplicació.

Hibernate proveeix persistència per "Plain Old Java Objects"; l'únic requeriment estricte per una classe persistent és el d'oferir un constructor públic i sense arguments.

Hibernate pot ser usat tant en aplicacions standalone com en aplicacions Java EE que usen servlets o EJB session beans.

Història[modifica | modifica el codi]

Hibernate va ser desenvolupat per un equip de programadors Java d'arreu del món, liderats per Gavin King. JBoss Inc. (posteriorment adquirit per Red Hat) va contractar més tard el nucli de l'equip de desenvolupadors i van treballar-hi donant suport a Hibernate.

L'actual versió d'Hibernate és la 3.x. Aquesta versió té característiques noves, com ara una nova arquitectura d'Interceptor/Callback, filtres definits per l'usuari i JDK 5.0 Annotations (funcionalitat de metadades de Java). Hibernate 3 també és molt proper a l'especificació d'EJB 3.0 i serveix com la columna vertebral de la implementació d'EJB 3.0 sobre JBoss.

  • La primera versió descarregable va ser la 0.8 alpha, apareguda el 30 de novembre de 2001
  • La versió 1.0 final va aparèixer el 2 de juliol de 2002
    • La darrera versió 1.X va ser la 1.2.5, apareguda el 9 de maig de 2003
  • La versió 2.0 final va aparèixer el 7 de juny del 2003
    • La darrera 2.X va ser la 2.1.8, apareguda el 30 de gener del 2005
  • La versió 3.0 final va aparèixer el 31 de març del 2005
    • La versió 3.2.4 va aparèixer el 9 de maig del 2007
    • La versió 3.2.5 va aparèixer el 31 de juliol del 2007
    • La versió 3.2.6 va aparèixer el 8 de febrer del 2008

La versió en començar el 2011 és la 3.x. Aquesta versió va introduir noves funcionalitats com una nova arquitectura d'Interceptor/Callback, filtres definitis per l'usuari i anotacions JDK 5.0 (funcionalitat de metadades de Java). Hibernate 3 (a partir de la versió 3.5.0) és una implementació certificada de la Java Persistence API 2.0 specification via un embolcall pel mòdul Core que aporta conformitat amb l'estàndard JSR 317 .

Hibernate i JDO[modifica | modifica el codi]

En el moment del seu desenvolupament l'especificació JDO de mapeig i gestió de persistència gaudia de molt bona reputació, però no existien implementacions consolidades al mercat. Hibernate va començar tard però ràpidament va rebre una gran acollida, desplaçant JDO de moltes empreses.

Gràcies a la ràpida expansió del seu ús, aquesta única implementació (JDO era només una especificació, Hibernate una eina desenvolupada) i la gran quantitat de desenvolupadors amb formació avançada en l'eina i documentació existent a Hibernate, són un complement molt potent al seu robust funcionament.

Altres implementacions[modifica | modifica el codi]

Paral·lelament a Hibernate, existeix NHibernate, desenvolupat per la mateixa companyia, per ser usat sobre plataformes .NET

Veieu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  • Christian Bauer, Gavin King: Java Persistence with Hibernate, Manning Publications Company, ISBN 1-932394-88-5
  • Christian Bauer, Gavin King: Hibernate In Action, Manning Publications Company, ISBN 1-932394-15-X
  • Will Iverson: Hibernate: A J2EE™ Developer's Guide, Addison Wesley Professional, ISBN 0-321-26819-9
  • James Elliott: Hibernate: A Developer's Notebook, O'Reilly, ISBN 0-596-00696-9

Enllaços externs[modifica | modifica el codi]

[[Fitxer:|Portal|36x36px|enllaç=]]

Portal: Programari lliure