anchor.diff:  
   Continuamos con la implementación de la aplicación. Construiremos la aplicación desde la capa de persistencia hacia arriba hasta la capa de presentación, que es el modo habitual para los desarrollos Java EE por capas.
   
  +== Introducción
  +
   La capa de persistencia tiene como cometido establecer un mapeo con la base de datos para las entidades persistentes del modelo de dominio de manera que podamos manipular la información a través de una jerarquía de objetos Java y nos abstraiga totalmente de los detalles de la base de datos. El modelo de dominio es un documento de la fase de análisis del proyecto que consiste en una serie de diagramas de clase donde se determinan las entidades relevantes para nuestro proyecto, la información contenida en cada una y las relaciones entre ellas. 
   
   En el plano tecnológico tenemos que definir lo siguiente:
  
positive.code: 
  image::https://raw.githubusercontent.com/lametaweb/lametaweb.github.io/master/images/003/post003-fig050.png[]
  
  Por orden, escribiremos primero las variables correspondientes a los atributos en las tres entidades y sus anotaciones de persistencia, y a continuación escribiremos las variables y anotaciones de las relaciones entre las entidades. Tomamos como referencia y guía el diagrama de clases de la fase de diseño.
  
  
  
  
  
  
negative.code: 			<sourceEncoding>UTF-8</sourceEncoding>
  ----
  
  
  . Vamos con las clases de persistencia. Tendremos tres clases: Drone, Trabajo y PuntoRuta. Cada clase será básicamente un POJO (Plain Java Object)
  con anotaciones con la información del mapeo de persistencia para los atributos de la propia entidad y las relaciones con
  el resto de entidades.
  
  . A partir de la etapa de análisis la información que se asignará a cada entidad será la siguiente:
  
  .Atributos definidos en las clases de persistencia
  [cols="1,2", width="70%"]
  |===
  .5+|*Drone* 
  |numeroDeSerie
  |modelo
  |autonomia
  |numMotores
  |pesoMaximoDespegue
  		
  .5+|*Trabajo*
  |numeroDeRegistro
  |fechaHoraDeInicio
  |fechaHoraDeFinalizacion
  |velocidad
  |descripcion
  		
  .3+|*PuntoRuta*
  |latitud
  |longitud
  |altitud
  |===
  
  . Además cada entidad tendrá un atributo adicional que actúe como clave única a través del cual implementaremos las relaciones entre
  	las entidades.
  . Estas relacaciones se derivan de la siguiente información facilitada por el cliente en la etapa de análisis:
  
  	. Un Trabajo se asigna a un único Drone de entre los Drones disponibles en la fecha del trabajo.
  	. Un Drone tiene ninguno, uno o varios trabajos programados.
  	. Un Trabajo se compone de un recorrido formado por dos o más puntos de ruta.
  	
  . Con toda esta información podemos ya elaborar el diagrama de clases que establezca el diseño de nuestras clases de persistencia.
  
  image::https://raw.githubusercontent.com/lametaweb/lametaweb.github.io/master/images/003/post003-fig045.png[]
  
  La clase en la parte superior del diagrama corresponde a la capa de negocio y la implementaremos más adelante. El resto constituye la capa de persistencia.
  
  NOTE: Otro planteamiento a la hora de implementar la capa de persistencia es crear primero el esquema de la base de datos y a partir de él, con un asistente, generar un código fuente inicial para las clases persistentes, al que luego añadiremos información adicional en forma de anotaciones para definir distintos aspectos relacionados con el mapeo.
  	
  Bien, vamos con la implementación. Creamos las tres clases primero y no una a una para evitar errores por referencias a clases inexistentes. Añadimos cada clase haciendo click en botón derecho sobre la carpeta _/src/main/java/_ y _New > Class_. Si la opción del menú no está visible ir a la opción _Java > Class_ después de hacer _New > Other..._.
  
  .Datos para creación de clases de persistencia
  [cols="1h,5"]
  