martes, 18 de febrero de 2014

Sincronizar una Entity (synchronize entity)

En el artículo anterior habíamos visto cómo se en un proyecto.
Éste objeto tomaba muchas características de la tabla que se encontraba en la base de datos aunque como también se vio, podría existir diferencias.

En este artículo vamos a ver qué pasa si en la base de datos se crea un campo que no existe en la Entity. Este proceso de pasar las "diferencias", o cambios, entre la Entity y la tabla a la entity se llama sincronizar ( synchronize entity).
Para ello vamos en primer lugar a quitar uno de los campos de la entity actual, y luego haremos una sincronización para que incluya al campo que falta de la tabla.

En primer lugar vamos a la entidad Employees, y con el menú contextual seleccionamos editarlo

menu contextual entity
menu contextual Entity

Una vez seleccionado se nos muestra el cuadro con toda la información de la entity. Vamos al apartado de Attributes (atributos), que muestra todos los campos (atributos en ADF no es exactamente campos en base de datos, aunque por ahora se acerca mucho).


editor Entity attributes
editor Entity Attributes

Elegimos el campo "Salary", y luego le damos a "Remove" para que lo borre de nuestra entity.


borrando attribute salary
borrando attribute salary

Finalmente se aplican los cambios y se guarda.


guardar cambios



Volvemos desde el Application Navigator, a seleccionar la entity, y en el menú contextual (botón derecho), seleccionamos " Synchronize with database".


selecciona synchronize with database
selecciona synchronize with database

Como vemos en el siguiente cuadro, nos informa que hay dos cambios a incluir, un atributo "Salary", y una constraint (restricción) que existe en la tabla que y al borrar anteriormente el campo también eliminó de la entity.


acciones para sincronizar
acciones para sincronizar

Se muestra una confirmación, indicando los cambios que se incluirán en la entity. En este caso lo confirmamos, y se produce la inclusión de los cambios.

confirmar sincronizacion
confirmar cambios


Algo importante de la sincronización, es que no siempre vamos a querer tener todos los cambios.
Por ejemplo, en base de datos, puede haber campos que sean obligatorios, pero en la aplicación, se puede no desear esa restricción.
Es importante esto para no terminar deshaciendo este tipo de operaciones, o incluso que pueda darnos errores tras una sincronización en el que no hemos tenido en cuenta algo de esto.

No hay comentarios:

Publicar un comentario