El Blog de Trespams

Blog personal sobre tecnologia, gestió de projectes i coses que se me passen pel cap

Hibernate tools 3.1 beta

Hibernate Tools 3.1 Beta és un afegit per Eclipse 3.1 que ens permet entre altres coses mapejar les taules de la nostra base de dades a fitxer xml utilitzats pel bastimet Hibernate, generar els POJOs

que mapegen aquests xml cap a classes Java i a més amb una utilitat que ens permet fer consultes HQL directament.

Així dit no sé si algú que no estigui una mica enterat del tema m'haurà entés res. Miraré d'explicar-ho: Un dels maldecaps més importants quan es fa servir programació orientada objectes en programes de gestió és que més tard o més d'hora hom ha d'acabar passant aquests objectes (normalment les seves propietats) cap a una base de dades i aquí comences els problemes, ja que s'han de fer un seguit de transformacions per passar dels objectes a les tuples de la base de dades. Podem trobar-nos que el gramatge dels objectes i les tuples de la base de dades sigui diferent, ens trobam que els conceptes de navegabilitat que tenim als objectes no es corresponen amb la BD, etc. El pas invers també és complexe, ja que es tracta de recuperar tuples d'una base de dades i transformar-les amb objectes.

Hibernate eś un bastiment que intenta que aquests maldecaps siguin els menors possibles. Ens permet definir una sèrie d'arxius xml que diuen com es mapegen els objectes (els POJOs) a la base de dades. Per exemple, ens permet definir com es passa d'una jerarquia d'herència a la base de dades, permetent establir diferents estratègies per aquest traspàs.

A més Hibernate ens independitza l'aplicació de la base de dades que estiguem utilitzant. Per això el que fa és definir els seu propi llenguatge de consultes, l'HQL, on es fan consultes en notació d'objectes i es retornen objectes.

Actualment la tendència és fugir com de la pesta (o la grip aviar) dels EJB i els seus mecanismes de persitència, ja que impliquen escriure molt de codi, resulten aplicacions molt pesades i difícils de mantenir. A les estimacions que tenc, una aplicació EJB respecta una feta amb una tecnologia "lleugera" hi pot haver fins a un factor 10 en termes de cost de desenvolupament.

Bastiments com a Hibernate han permés que les tecnologies no basades en EJBs s'estiguin imposant i eines com les Hibernate Tools fan que el desenvolupament sigui encara més ràpid, ja que permeten generar el codi java i els xmls de mapeig automàticament. Aquesta nova versió a més incorpora tot un seguit de millores que ajuden a la programació: conversió de HQL a codi SQL i la possibilitat d'afegir paràmetres a les consultes són les més interessants.

Encara queda molt de marge per la millora de les Hibernate Tools, els mapeig és cada cop millor i l'editor per configurar la part d'enginyeria inversa de les bases de dades ha donat un salt important en aquesta darrera beta. Tot i això és molt millorable la manera de presentar els resultats o els codis d'error que ens van donant quan es posa la resposta. En el que fa referència a l'editor HQL trob a faltar la possiblitat d'arrossegar un cap des de l'arbre de mapeig cap a l'editor o que a l'hora de fer la consulta et demani el màxim de resultats que vols mostrar.

Tal com està avançant Hibernate i les Hibernate Tools esper que vegem una eina molt més completa per quan la beta esdevingui ja la versió definitiva.

blog comments powered by Disqus