Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

unidades:06_objetos_validaciones:04_listeners [2013/04/17 15:37]
admin [Usando Listeners]
unidades:06_objetos_validaciones:04_listeners [2016/07/03 20:35] (actual)
Línea 219: Línea 219:
  
 Expliquemos ahora los métodos más importantes de la clase <javadoc h41>org.hibernate.event.spi.PreInsertEvent|PreInsertEvent</javadoc> Expliquemos ahora los métodos más importantes de la clase <javadoc h41>org.hibernate.event.spi.PreInsertEvent|PreInsertEvent</javadoc>
 +
 +  * ''Object getEntity()'':
 +Nos retorna el propio objeto que estamos persistiendo.Sobre este objeto deberemos modificar los datos.
 +
   * ''Object[] getState()'':   * ''Object[] getState()'':
-Nos retorna un array con los datos de la entidad. Este array es importantísimo ya que sobre él podremos hacer cambios en los datos y se reflejarán al persistirse. Si hacemos los cambios directamente sobre el objeto no se aplicarán. El problema es que es un array de datos, con lo que necesitamos el índice de cada propiedad.+Nos retorna un array con los datos de la entidad. Este array es importantísimo ya que sobre él deberemos también hacer cambios en los datos y se reflejarán al persistirse. El problema es que es un array de datos, con lo que necesitamos el índice de cada propiedad.
   * ''String[] getPersister().getPropertyNames()'':   * ''String[] getPersister().getPropertyNames()'':
 Esta array nos va a ayudar a saber el índice de una propiedad en función de su nombre. Para ello necesitaremos la siguiente función: Esta array nos va a ayudar a saber el índice de una propiedad en función de su nombre. Para ello necesitaremos la siguiente función:
Línea 295: Línea 299:
 </code> </code>
  
-  * De las líneas 32 43 está la nueva función ''getPropertyNameIndex'' que hemos creado para ayudarnos.+  * De las líneas 34 48 está la nueva función ''getPropertyNameIndex'' que hemos creado para ayudarnos.
   * En la línea 26 se obtiene el índice de la propiedad ''fechaCreacion''   * En la línea 26 se obtiene el índice de la propiedad ''fechaCreacion''
-  * En la línea 27 modificamos el array con los datos de la entidad estableciendo la fecha. +  * En la línea 27 creamos la fecha que queremos establecer en el objeto. 
-  * En la línea 29 se retorna ''false'' ya que si no se cancelará la operación de inserción.+  * En la línea 28 modificamos el array que contiene los datos de la entidad estableciendo la fecha. 
 +  * En la línea 29 modificamos el objeto estableciendo la fecha. 
 +  * En la línea 31 se retorna ''false'' ya que si no se cancelará la operación de inserción. 
 + 
 +<note tip> 
 +Recuerda que se necesitan cambiar los datos tanto en el objeto ( ''getEntity()'' ) como en el array ( ''getState()'' ). La mejor explicación que he encontrado de ésto ,la puedes ver en [[http://anshuiitk.blogspot.com.es/2010/11/hibernate-pre-database-opertaion-event.html|Hibernate : Pre Database Opertaion Event Listeners]] 
 +</note>
  
 <note warning> <note warning>
unidades/06_objetos_validaciones/04_listeners.1366205835.txt.gz · Última modificación: 2016/07/03 20:37 (editor externo)
Ir hasta arriba
CC Attribution-Noncommercial-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0