É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 |
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 |
Elegimos el campo "Salary", y luego le damos a "Remove" para que lo borre de nuestra entity.
borrando attribute salary |
Finalmente se aplican los cambios y se guarda.
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 |
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 |
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 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