Actualizacion Dinamica Con Hibernate
Hibernate, al iniciar, lee el archivo de configuracion hibernate.cfg.xml. De manera predeterminada se generan y se levantan a memoria todas las sentencias de select, insert, update, delete de cada clase.
Estas sentencias son las básicas por ID.
Con respecto a los UPDATE esto presenta el inconveniente que ante un update de un solo campo del objeto, hibernate me genera el update de todos los campos del objeto.
Para las bases de datos esto es poco beneficioso ya que estamos generando mas undo (guardar en el rollback el valor anterior de los campos) del necesario.
Y pensemos lo malo que puede ser este comportamiento si ademas por el update de alguno de los campos, en la base de datos se dispara un trigger, independientemente si el valor es distinto o no.
Estaríamos generando no solo undo innecesariamente, sino que tambien estaríamos aumentando el procesamiento.
Para evitar esto Hibernate permite configurar la clase como dynamic-update
Dynamic-Update en archivo XML
<class name="Message" table="MESSAGES" dynamic-update="true"> ... </class>
Kewl you should come up with that. Execlelnt!