lunes, junio 29, 2009

Como hacer un delete from con Hibernate y Spring

Eliminacion con Hibernate y Spring Hibernate Template

Regularmente Hibernate nos permite eliminar entidades mediante el uso del método delete [https://www.hibernate.org/hib_docs/v3/api/org/hibernate/Session.html#delete(java.lang.Object))].

Sin embargo esta operación nos permite solamente eliminar una entidad especifica; sin embargo si deseamos eliminar todas las entidades o un subconjunto utilizando HQL, Spring y Hibernate nos lo permiten.

El template de Hibernate, al cual tenemos acceso cuando extendemos de la clase: HibernateDaoSupport de spring-orm, nos proporciona un método bastante útil llamado bulkUpdate [http://static.springframework.org/spring/docs/2.0.8/api/org/springframework/orm/hibernate3/HibernateOperations.html#bulkUpdate(java.lang.String)] el cual como mencionamos anteriormente nos permite eliminar una, varios o todas las entidades.

A continuación un ejemplo:

this.getHibernateTemplate().bulkUpdate("delete from MyEntity");

Donde MyEntity representa una entidad persistida ya sea mediante XML propios de Hibernate o JPA. De igual manera podemos utilizar sentencias where, etc.

Un saludo,
J


No hay comentarios.: