anchor.diff:  	** Este atributo no lleva ninguna anotación ya que se trata de un tipo Basic con un mapeo por defecto. http://en.wikibooks.org/wiki/Java_Persistence/Basic_Attributes[Aquí] tenéis una explicación clara sobre los tipos Basic en JPA.	
   
   * En descripcion:
  -	** `@Lob`: Ya que preveemos por lo indicado por el cliente que este campo albergará textos de gran tamaño y no tendremos suficiente espacio con un tipo de datos Basic.
  +	** `@Lob`: Ya que prevemos por lo indicado por el cliente que este campo albergará textos de gran tamaño y no tendremos suficiente espacio con un tipo de datos Basic.
       ** `@Size(max = 65535)`: Mapeamos este campo con un CLOB, con un tamaño de 64Kb. Lo hacemos así porque se prevé que la longitud de esta información textual sea mayor que los 32Kb que soporta el tipo VARCHAR generado para un tipo Basic String.
       ** `@Basic(fetch=FetchType.LAZY)`: Los atributos de tipo Basic son extraídos de la base de datos y asignados por defecto en una consulta. Sin embargo este atributo tendrá en general un tamaño elevado y para que el rendimiento de las consultas que muestran listados de drones sea óptimo indicamos a Hibernate que no lea el contenido del atributo a menos que se lo indiquemos de manera explícita.
   
  
positive.code: 
  En este punto paramos un momento y pensamos si realmente merece la pena crear una entidad PuntoRuta. Esto dependerá sobre todo de si de los requisitos se deduce la necesidad de lanzar consultas sobre la entidad PuntoRuta, por ejemplo para consultar los trabajos programados en una determinada área geográfica. Para nuestro proyecto supondremos que estas consultas sí interesan al cliente. 
  
  Si en cambio tuvieramos el supuesto contrario podríamos plantearnos distintas implementaciones haciendo uso del concepto de embeddable de JPA. Una clase embeddable es persistida al mismo tiempo y en el mismo lugar que su entidad padre. En nuestro caso podríamos añadir una nueva clase Ruta embeddable que contuviera la lista de PuntoRuta, que ya no serie una Entity, y añadir un atributo de tipo Ruta embedded a la centidad Trabajo. En general tendremos siempre varias alternativas a la hora de modelar nuestros diagramas de clases persistentes y tendremos que encontrar la solución más conveniente en cada caso a través de la realización de pruebas y en base a nuestra experiencia.   
  
  Con la implementanción de estas tres clases damos por terminada la implementación de la capa de persistencia. En el próximo post veremos como se despliga el datasource para la capa de persistencia y también un modo de implementar la carga inicial de datos desde la propia aplicación usando la tecnología EJB. Hasta pronto!
  
negative.code: Veamos el significado de cada elemento:
  
  * La primera línea indica que se trata de un fichero XML.
  * *<persistence>*: Es el elemento raíz y declara los diferentes espacios de nombres que contienen las reglas de escritura del documento y además indica la versión JPA utilizada, en este caso la 2.0, que es la que corresponde a Java EE 6. Dentro del elemento raíz podemos definir varias de unidades de persistencia. Nosotros queremos mapear nuestros objetos en un único lugar y de un mismo modo por lo que crearemos una única unidad.
  * *<persistence-unit>*: Describe la unidad de persistencia, que es el mecanismo que genera el contexto de persistencia donde residen nuestros beans persistentes. El atributo _name_ lo usaremos para referirnos a ella desde el código. Por otro lado el atributo _transaction-type_ provee de la tecnología JTA para la gestión automática de las transacciones.
  * *<jta-data-source>*: Define el nombre JNDI del origen de datos, un recurso de servidor a través del cual nuestra aplicación accede a la base de datos. Más adelante veremos como instalarlo. El nombre JNDI seguirá el formato java:jboss/datasources/<nombre_origen_datos>.
  * *<exclude-unlisted-classes>*: Evita tener que nombrar en el fichero las clases persistentes estableciendo que todas las clases anotadas como entidades pertenecerán a este contexto de persistencia.
  * *<properties>*: Propiedades para el proveedor de persistencia elegido, en nuestro caso Hibernate. Suministramos dos propiedades:
  	** _hibernate.dialect_ indica al proveedor que la base de datos es Derby.
  	** _hibernate.hbm2ddl.auto_ indica al proveedor que genere los elementos del esquema de la base de datos de forma automática a partir de la información de las entidades persistentes de nuestro código fuente. O sea que crea la base de datos por nosotros!.
  
  