[2-10] Curso de Hibernate

Solicita información

Analisis de educaedu

Pablo Nieves

[2-10] Curso de Hibernate

  • Modalidad de impartición Es virtual el Curso Hibernate de INcaprog Online; de esta manera los estudiantes podrán administrar su tiempo, según sus necesidades.
  • Titulación oficial INcaprog Online otorga certificación de asistencia al "Curso de Hibernate".
  • Valoración del programa El Curso Hibernate es la oportunidad perfecta para aprender sobre el mapeo de atributos entre bases de datos relacionales, usando como plataforma Java y modelando objetos de una aplicación a través de archivos XML que permiten precisamente establecer este tipo de relaciones, asegurándose de realizar trabajos productivos. Desde este centro académico se preparan profesionales capaces de afrontar los retos tecnológicos que imponga el mercado. Precio del curso
  • Precio del curso Consultar Precio
  • Dirigido a El Curso Hibernate de INcaprog Online está orientado a Ingenieros de Sistemas, aficionados a la programación y estudiantes de carreras como Comunicación Social y Administración de empresas. En sí, este s un curso abierto a público general, pero estas carreras son las afines al taller como tal.
  • Empleabilidad Con el curso en mención se puede conseguir un puesto de trabajo en el área de sistemas de cualquier entidad pública o privada, haciendo soporte técnico al usuario o desempeñándose como programador.
¿quieres saber más sobre este curso?
Solicita información

[2-10] Curso de Hibernate

  • Contenido
    Curso (2-9) Hibernate

     

    Definición

    Hibernate es una herramienta de Mapeo objeto-relacional (ORM) para la plataforma Java (y disponible también para .Net con el nombre de NHibernate) que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones.

    Hibernate es software libre, distribuido bajo los términos de la licencia GNU LGPL.

     

    Contenido Temático

    1. Tutorial

    1.1. Parte 1 - La primera aplicación Hibernate

    1.1.1. Configuración
    1.1.2. La primera clase
    1.1.3. El archivo de mapeo
    1.1.4. Configuración de Hibernate
    1.1.5. Construcción con Maven
    1.1.6. Inicio y ayudantes
    1.1.7. Carga y almacenamiento de objetos

    1.2. Part 2 - Mapeo de asociaciones

    1.2.1. Mapeo de la clase Person
    1.2.2. Una asociación unidireccional basada en Set
    1.2.3. Trabajo de la asociación
    1.2.4. Colección de valores
    1.2.5. Asociaciones bidireccionales
    1.2.6. Trabajo con enlaces bidireccionales

    1.3. Part 3 - La aplicación web EventManager

    1.3.1. Escritura de un servlet básico
    1.3.2. Procesamiento y entrega
    1.3.3. Despliegue y prueba

    1.4. Resumen

    2. Arquitectura

    2.1. Sinopsis

    2.1.1. Minimal architecture
    2.1.2. Comprehensive architecture
    2.1.3. Basic APIs

    2.2. Integración JMX
    2.3. Sesiones contextuales

    3. Configuración

    3.1. Configuración programática
    3.2. Obtención de una SessionFactory
    3.3. Conexiones JDBC
    3.4. Parámetros de configuración opcionales

    3.4.1. Dialectos de SQL
    3.4.2. Recuperación por Unión Externa - Outer Join Fetching
    3.4.3. Flujos Binarios
    3.4.4. Caché de segundo nivel y de lectura
    3.4.5. Sustitución de Lenguaje de Consulta
    3.4.6. Estadísticas de Hibernate

    3.5. Registros de mensajes (Logging)
    3.6. Implementación de una NamingStrategy
    3.7. Implementing a PersisterClassProvider
    3.8. Archivo de configuración XML
    3.9. Java EE Application Server integration

    3.9.1. Configuración de la estrategia de transacción
    3.9.2. SessionFactory enlazado a JNDI
    3.9.3. Administración de contexto de Sesión Actual con JTA
    3.9.4. Despliegue JMX

    4. Clases persistentes

    4.1. Ejemplo simple de POJO

    4.1.1. Implemente un constructor sin argumentos
    4.1.2. Provide an identifier property
    4.1.3. Prefer non-final classes (semi-optional)
    4.1.4. Declare métodos de acceso y de modificación para los campos persistentes (opcional)

    4.2. Implementación de herencia
    4.3. Implementando equals() y hashCode()
    4.4. Modelos dinámicos
    4.5. Tuplizers
    4.6. EntityNameResolvers

    5. Mapeo O/R Básico

    5.1. Declaración de mapeo

    5.1.1. Entity
    5.1.2. Identifiers
    5.1.3. Optimistic locking properties (optional)
    5.1.4. Propiedad
    5.1.5. Embedded objects (aka components)
    5.1.6. Inheritance strategy
    5.1.7. Mapping one to one and one to many associations
    5.1.8. Natural-id
    5.1.9. Any
    5.1.10. Propiedades
    5.1.11. Some hbm.xml specificities

    5.2. Tipos de Hibernate

    5.2.1. Entidades y Valores
    5.2.2. Tipos de valores básicos
    5.2.3. Tipos de valor personalizados

    5.3. Mapeo de una clase más de una vez
    5.4. Identificadores SQL en comillas
    5.5. Propiedades generadas
    5.6. Column transformers: read and write expressions
    5.7. Objetos de bases de datos auxiliares

    6. Types

    6.1. Value types

    6.1.1. Basic value types
    6.1.2. Composite types
    6.1.3. Collection types

    6.2. Entity types
    6.3. Significance of type categories
    6.4. Custom types

    6.4.1. Custom types using org.hibernate.type.Type
    6.4.2. Custom types using org.hibernate.usertype.UserType
    6.4.3. Custom types using org.hibernate.usertype.CompositeUserType

    6.5. Type registry

    7. Mapeos de colección

    7.1. Colecciones persistentes
    7.2. How to map collections

    7.2.1. Claves foráneas de colección
    7.2.2. Colecciones indexadas
    7.2.3. Collections of basic types and embeddable objects

    7.3. Mapeos de colección avanzados

    7.3.1. Colecciones ordenadas
    7.3.2. Asociaciones bidireccionales
    7.3.3. Asociaciones bidireccionales con colecciones indexadas
    7.3.4. Asociaciones ternarias
    7.3.5. Using an <idbag>

    7.4. Ejemplos de colección

    8. Mapeos de asociación

    8.1. Introducción
    8.2. Asociaciones Unidireccionales

    8.2.1. Many-to-one
    8.2.2. Uno-a-uno
    8.2.3. Uno-a-muchos

    8.3. Asociaciones unidireccionales con tablas de unión

    8.3.1. Uno-a-muchos
    8.3.2. Many-to-one
    8.3.3. Uno-a-uno
    8.3.4. Muchos-a-muchos

    8.4. Asociaciones bidireccionales

    8.4.1. uno-a-muchos / muchos-a-uno
    8.4.2. Uno-a-uno

    8.5. Asociaciones bidireccionales con tablas de unión

    8.5.1. uno-a-muchos / muchos-a-uno
    8.5.2. uno a uno
    8.5.3. Muchos-a-muchos

    8.6. Mapeos de asociación más complejos

    9. Mapeo de componentes

    9.1. Objetos dependientes
    9.2. Colecciones de objetos dependientes
    9.3. Componentes como índices de Mapeo
    9.4. Componentes como identificadores compuestos
    9.5. Componentes dinámicos

    10. Mapeo de herencias

    10.1. Las tres estrategias

    10.1.1. Tabla por jerarquía de clases
    10.1.2. Tabla por subclase
    10.1.3. Tabla por subclase: utilizando un discriminador
    10.1.4. Mezcla de tabla por jerarquía de clases con tabla por subclase
    10.1.5. Tabla por clase concreta
    10.1.6. Tabla por clase concreta utilizando polimorfismo implícito
    10.1.7. Mezcla de polimorfismo implícito con otros mapeos de herencia

    10.2. Limitaciones

    11. Trabajo con objetos

    11.1. Estados de objeto de Hibernate
    11.2. Haciendo los objetos persistentes
    11.3. Cargando un objeto
    11.4. Consultas

    11.4.1. Ejecución de consultas
    11.4.2. Filtración de colecciones
    11.4.3. Consultas de criterios
    11.4.4. Consultas en SQL nativo

    11.5. Modificación de objetos persistentes
    11.6. Modificación de objetos separados
    11.7. Detección automática de estado
    11.8. Borrado de objetos persistentes
    11.9. Replicación de objetos entre dos almacenamientos de datos diferentes
    11.10. Limpieza (flushing) de la sesión
    11.11. Persistencia transitiva
    11.12. Utilización de metadatos

    12. Read-only entities

    12.1. Making persistent entities read-only

    12.1.1. Entities of immutable classes
    12.1.2. Loading persistent entities as read-only
    12.1.3. Loading read-only entities from an HQL query/criteria
    12.1.4. Making a persistent entity read-only

    12.2. Read-only affect on property type

    12.2.1. Simple properties
    12.2.2. Unidirectional associations
    12.2.3. Bidirectional associations

    13. Transacciones y concurrencia

    13.1. Ámbitos de sesión y de transacción

    13.1.1. Unidad de trabajo
    13.1.2. Conversaciones largas
    13.1.3. Consideración de la identidad del objeto
    13.1.4. Temas comúnes

    13.2. Demarcación de la transacción de la base de datos

    13.2.1. Entorno no administrado
    13.2.2. Utilización de JTA
    13.2.3. Manejo de excepciones
    13.2.4. Tiempo de espera de la transacción

    13.3. Control de concurrencia optimista

    13.3.1. Chequeo de versiones de la aplicación
    13.3.2. Sesión extendida y versionado automático
    13.3.3. Objetos separados y versionado automático
    13.3.4. Personalización del versionado automático

    13.4. Bloqueo pesimista
    13.5. Modos de liberación de la conexión

    14. Interceptores y eventos

    14.1. Interceptores
    14.2. Sistema de eventos
    14.3. Seguridad declarativa de Hibernate

    15. Procesamiento por lotes

    15.1. Inserciones de lotes
    15.2. Actualizaciones de lotes
    15.3. La interfaz de Sesión sin Estado
    15.4. Operaciones de estilo DML

    16. HQL: El lenguaje de consulta de Hibernate

    16.1. Sensibilidad a mayúsculas
    16.2. La cláusula from
    16.3. Asociaciones y uniones (joins)
    16.4. Formas de sintaxis unida
    16.5. Referencia a la propiedad identificadora
    16.6. La cláusula select
    16.7. Funciones de agregación
    16.8. Consultas polimórficas
    16.9. La cláusula where
    16.10. Expresiones
    16.11. La cláusula order by
    16.12. La cláusula group by
    16.13. Subconsultas
    16.14. Ejemplos de HQL
    16.15. Declaraciones UPDATE y DELETE masivas
    16.16. Consejos y Trucos
    16.17. Componentes
    16.18. Sintaxis del constructor de valores por fila

    17. Consultas por criterios

    17.1. Creación de una instancia Criteria
    17.2. Límitando el conjunto de resultados
    17.3. Orden de los resultados
    17.4. Asociaciones
    17.5. Recuperación dinámica de asociaciones
    17.6. Consultas ejemplo
    17.7. Proyecciones, agregación y agrupamiento
    17.8. Consultas y subconsultas separadas
    17.9. Consultas por identificador natural

    18. SQL Nativo

    18.1. Uso de una SQLQuery

    18.1.1. Consultas escalares
    18.1.2. Consultas de entidades
    18.1.3. Manejo de asociaciones y colecciones
    18.1.4. Devolución de entidades múltiples
    18.1.5. Devolución de entidades no-administradas
    18.1.6. Manejo de herencias
    18.1.7. Parámetros

    18.2. Consultas SQL nombradas

    18.2.1. Utilización de la propiedad return para especificar explícitamente los nombres de columnas/alias
    18.2.2. Utilización de procedimientos para consultas

    18.3. Personalice SQL para crear, actualizar y borrar
    18.4. Personalice SQL para cargar

    19. Filtración de datos

    19.1. Filtros de Hibernate

    20. Mapeo XML

    20.1. Trabajo con datos XML

    20.1.1. Especificación de los mapeos de XML y de clase en conjunto
    20.1.2. Especificación de sólo un mapeo XML

    20.2. Mapeo de metadatos XML
    20.3. Manipulación de datos XML

    21. Mejoramiento del rendimiento

    21.1. Estrategias de recuperación

    21.1.1. Trabajo con asociaciones perezosas
    21.1.2. Afinación de las estrategias de recuperación
    21.1.3. Proxies de asociaciones de un sólo extremo
    21.1.4. Inicialización de colecciones y proxies
    21.1.5. Utilización de recuperación de lotes
    21.1.6. Utilización de la recuperación por subselección
    21.1.7. Perfiles de recuperación
    21.1.8. Utilización de la recuperación perezosa de propiedades

    21.2. El Caché de Segundo Nivel

    21.2.1. Mapeos de caché
    21.2.2. Estrategia: sólo lectura
    21.2.3. Estrategia: lectura/escritura (read/write)
    21.2.4. Estrategia: lectura/escritura no estricta
    21.2.5. Estrategia: transaccional
    21.2.6. Compatibilidad de proveedor de caché/estrategia de concurrencia

    21.3. Gestión de cachés
    21.4. El Caché de Consultas

    21.4.1. Habilitación del caché de peticiones
    21.4.2. Regiones de caché de consultas

    21.5. Comprensión del rendimiento de Colecciones

    21.5.1. Taxonomía
    21.5.2. Las listas, mapas, idbags y conjuntos son las colecciones más eficientes de actualizar
    21.5.3. Los Bags y las listas son las colecciones inversas más eficientes
    21.5.4. Borrado de un sólo tiro

    21.6. Control del rendimiento

    21.6.1. Control de una SessionFactory
    21.6.2. Métricas

    22. Manual del conjunto de herramientas

    22.1. Generación automática de esquemas

    22.1.1. Personalización del esquema
    22.1.2. Ejecución de la herramienta
    22.1.3. Propiedades
    22.1.4. Utilización de Ant
    22.1.5. Actualizaciones incrementales de esquema
    22.1.6. Utilización de Ant para actualizaciones incrementales de esquema
    22.1.7. Validación de Esquema
    22.1.8. Utilización de Ant para la validación de esquema

    23. Additional modules

    23.1. Bean Validation

    23.1.1. Adding Bean Validation
    23.1.2. Configuration
    23.1.3. Catching violations
    23.1.4. Database schema

    23.2. Hibernate Search

    23.2.1. Description
    23.2.2. Integration with Hibernate Annotations

    24. Ejemplo: Padre/Hijo

    24.1. Nota sobre las colecciones
    24.2. Uno-a-muchos bidireccional
    24.3. Ciclo de vida en cascada
    24.4. Cascadas y unsaved-value
    24.5. Conclusión

    25. Ejemplo: Aplicación de Weblog

    25.1. Clases Persistentes
    25.2. Mapeos de Hibernate
    25.3. Código Hibernate

    26. Ejemplo: mapeos varios

    26.1. Empleador/Empleado
    26.2. Autor/Obra
    26.3. Cliente/Orden/Producto
    26.4. Mapeos varios de ejemplo

    26.4.1. Asociación uno-a-uno "Tipificada"
    26.4.2. Ejemplo de clave compuesta
    26.4.3. Muchos-a-muchos con atributo compartido de clave compuesta
    26.4.4. Discriminación basada en contenido
    26.4.5. Asociaciones sobre claves alternativas

    27. Prácticas recomendadas
    28. Consideraciones de la portabilidad de la base de datos

    28.1. Aspectos básicos de la portabilidad
    28.2. Dialecto
    28.3. Resolución del dialecto
    28.4. Generación del identificador
    28.5. Funciones de la base de datos
    28.6. Mapeos de tipo

    Referencias


Solicita información

Otra formación relacionada con informática