Ir al contenido principal

Entradas

Usando el ScrollMode con Hibernate

JDBC nos proporciona cursores tipo Scroll (soportados por algunas bases de datos eso si), para recorrer poco a poco una cantidad muy grande de filas en una determinada tabla; como es de suponer una consulta que recupere miles o millones de objetos, puede traerse abajo el sistema por falta de memoria; Estos cursores también están disponibles con Hibernate y los mismos son utilizados en forma objetual mediante la implementación del patrón iterable (regularmente en JDBC tenemos los métodos last(), first(), next(), previous, relative con los cuales nos movemos a través del ResultSet y este se encarga de encapsular la traída por demanda de los Rows. Dicho lo anterior, vamos al ejemplo con Hibernate: SessionFactory sessionFactory = this.getSessionFactory(); Session session = sessionFactory.openSession(); String sql = "from MyDomainObject"; // fetch all data. ScrollableResults results = null; Object [] objects = null; Transaction transaction = session.begin...

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 entid...

La Vela Puerca en Costa Rica - 1 Julio - Latino Rock Cafe

La Vela Puerca en Tiquicia Pues se vino la Puerca , grupo de origen Uruguayo, cabe decir uno de los mejores! Es increíble que un grupo tan bueno, pero de tan poca difusión, tengamos la suerte de verlo, cuando? pues este primero de Julio (Que mejor forma de empezar el mes), onde? Latino Rock Café en el Barrio la California (ahí mismo venden las entradas por el ridículo precio de 5000 rojos). La verdad que es un regalo de navidad adelantado, ahora solo faltan las Pastillas del Abuelo o La Renga ;). Yo ya compre su ultimo disco, el Impulso que esta super bueno, como todos. Un saludo, J

Pollo a la Carta (Rajado veanlo)

Acabo de recibir este video , donde muestra uno de los cortos (tan solo 6 minutos), enseñándonos lo afortunados que somos, y que de verdad uno tiene que dar gracias por todo lo que tiene. La verdad, hasta las lágrimas me saco, realmente creo que uno debería empezar a cooperar para erradicar el hambre y la disparidad social que hoy reina en el mundo. http://www.cultureunplugged.com/play/1081/Chicken-a-la-Carte Un saludo, J

Observers con Java Core

Este pequeño articulo pretende mostrar las facilidades que ofrece Java para implementar el patrón Observer ([+] info http://en.wikipedia.org/wiki/Observer_pattern ). Sin entrar en detalles acerca del patrón, en la mayoría de los contextos buscamos tener un objeto observado, el cual cada vez que cambia de estado o sucede algo importante, sin saber a quien enviara un mensaje, notificando que su nuevo estado al resto de los objetos que observan. En Java, contamos con dos clases para implementar este patrón, la primera es la clase: java.util.Observable, esta clase tiene varios métodos ya implementados, de los cuales los mas importantes son: notifyObservers() notifyObservers(Object arg) setChanged El primero y el segundo hacen exactamente lo mismo, invocan a los observadores, la diferencia fundamental recae en que el primero pasara null como parámetro a los observadores. El tercer método, es aun mas importante, pues si invocamos a cualquiera de los métodos notify sin antes haber i...

Tabla con los codigos de status, para el protocolo HTTP

Este documento , explica el significado de los códigos retornados por el protocolo HTTP; resultan muy útil cuando tenemos que implementar algo de bajo nivel o trabajar con Socket o algo por el resto, en el se explica por ejemplo que un 404, es pagina no encontrada, 200 pagina servida con éxito , 500 error interno, etc.