HIBERNATE - Persistencia

  • View
    82

  • Download
    0

Embed Size (px)

Text of HIBERNATE - Persistencia

  • HIBERNATE - Persistencia relacional para Java Idiomtico

    Documentacin de Referencia de Hibernate

    3.3.1

    Traductor: Gonzalo Daz

    Copyright 2004 Red Hat Middleware, LLC.

    Prefacio1. Introduccin a Hibernate

    1.1. Prefacio1.2. Parte 1 - La Primera Aplicacin Hibernate

    1.2.1. La primera clase1.2.2. El archivo de mapeo1.2.3. Configuracin de Hibernate1.2.4. Construyendo con Ant1.2.5. Comienzo y ayudantes1.2.6. Cargar y almacenar objetos

    1.3. Parte 2 - Mapear asociaciones1.3.1. Mapear la clase Person1.3.2. Una asociacin unidireccional basada en un Set1.3.3. Trabajar con la asociacin1.3.4. Coleccin de valores1.3.5. Asociaciones bidireccionales1.3.6. Trabajar con vnculos bidireccionales

    1.4. Parte 3 - La aplicacin de web "Event Manager"1.4.1. Escribir el servlet bsico1.4.2. Procesamiento y presentacin1.4.3. Despliegue (deploy) y test

    1.5. Sumario2. Arquitectura

    2.1. Generalidades2.2. Estados de una instancia2.3. Integracin con JMX2.4. Soporte de JCA2.5. Sesiones contextuales

    3. Configuracin3.1. Configuracin programtica3.2. Obtener una SessionFactory3.3. Conexiones JDBC3.4. Propiedades optativas de configuracin

    3.4.1. Dialectos de SQL3.4.2. Captura (fetching) por Outer Join3.4.3. Streams Binarios3.4.4. Cach de 2do nivel y cach de consultas3.4.5. Sustituciones en el lenguaje de consultas.3.4.6. Estadsticas de Hibernate

    3.5. Logueo (logging, bitcora)3.6. Implementando una NamingStrategy3.7. Archivo de configuracin XML3.8. Integracin con los Servidores de Aplicacin J2EE

    3.8.1. Configuracin de una estrategia transaccional3.8.2. SessionFactory ligada a JNDI3.8.3. Manejo del contexto actual de la sesin con JTA3.8.4. Despliegue de JMX

    4. Clases Persistentes4.1. Un simple ejemplo de POJO

    HIBERNATE - Persistencia Relacional para Java Idiomtico http://www.hibernar.org/documentacion_es/castellano.html

    1 de 198 17/02/2009 09:25 a.m.

  • 4.1.1. Implemente un constructor sin argumentos4.1.2. Porvea una propiedad identificadora (optativo)4.1.3. Prefiera clases que no sean finales (optativo)4.1.4. Declare mtodos de acceso y "mutadores" (accessors, mutators) para los campos persistentes.

    4.2. Implementar herencia4.3. Implementar equals() y hashCode()4.4. Modelos dinmicos4.5. T-uplizadores4.6. Extensiones

    5. Mapeo O/R bsico5.1. Declaracin del mapeo

    5.1.1. El Doctype o "tipo de documento XML"5.1.1.1. EntityResolver

    5.1.2. hibernate-mapping5.1.3. class5.1.4. id

    5.1.4.1. Generator5.1.4.2. El algoritmo hi/lo5.1.4.3. El argoritmo UUID5.1.4.4. Columnas de identidad y secuencias5.1.4.5. Identificadores asignados5.1.4.6. Claves primarias assignadas por triggers

    5.1.5. Generadores de identificador mejorados.5.1.6. Optimizacin de los generadores de identificador5.1.7. composite-id5.1.8. discriminator5.1.9. version (optativo)5.1.10. timestamp (optativo)5.1.11. property5.1.12. many-to-one5.1.13. one-to-one5.1.14. natural-id5.1.15. component, dynamic-component5.1.16. properties5.1.17. subclass5.1.18. joined-subclass5.1.19. union-subclass5.1.20. join5.1.21. key5.1.22. elementos column y formula5.1.23. import5.1.24. any

    5.2. Tipos de Hibernate5.2.1. Entidades y "value types"5.2.2. "Value types" bsicos5.2.3. "Value types" hechos a medida

    5.3. Mapear una misma clase ms de una vez5.4. Identificadores de SQL entrecomillados5.5. Alternativas de meta-datos

    5.5.1. Usar marcadores de XDoclet5.5.2. Usar anotaciones de JDK 5.0

    5.6. Propiedades generadas5.7. Objetos auxiliares de base de datos

    6. Mapeo de Colecciones6.1. Colecciones persistentes6.2. Mapeo de colecciones

    6.2.1. Claves forneas de las colecciones6.2.2. Elementos de la coleccin6.2.3. Colecciones indexadas6.2.4. Colecciones de valores y asociaciones de-muchos-a-muchos6.2.5. Asociaciones de-uno-a-muchos

    6.3. Mapeos de coleccin avanzados6.3.1. Colecciones ordenadas

    HIBERNATE - Persistencia Relacional para Java Idiomtico http://www.hibernar.org/documentacion_es/castellano.html

    2 de 198 17/02/2009 09:25 a.m.

  • 6.3.2. Asociaciones bidireccionales6.3.3. Asociaciones bidireccionales con colecciones indexadas6.3.4. Asociaciones ternarias6.3.5. Usar una

    6.4. Ejemplos de colecciones7. Mapeo de asociaciones

    7.1. Introduccin7.2. Asociaciones unidireccionales

    7.2.1. de-muchos-a-uno7.2.2. de-uno-a-uno7.2.3. de-uno-a-muchos

    7.3. Asociaciones unidireccionales con tablas de unin7.3.1. de-uno-a-muchos7.3.2. de-muchos-a-uno7.3.3. de-uno-a-uno7.3.4. de-muchos-a-muchos

    7.4. Asociaciones bidireccionales7.4.1. de-uno-a-muchos / de-muchos-a-uno7.4.2. de-uno-a-uno

    7.5. Asociaciones bidireccionales con tablas de unin7.5.1. de-uno-a-muchos / de-muchos-a-uno7.5.2. de-uno-a-uno7.5.3. de-muchos-a-muchos

    7.6. Mapeos de asociacoones ms complejas8. Mapeo de componentes

    8.1. Objetos dependientes8.2. Colecciones de objetos dependientes8.3. Comonentes usados como ndices de un Map8.4. Componentes usados como identificadores compuestos8.5. Componentes dinmicos

    9. Mapeo de herencia9.1. Las tres estrategias

    9.1.1. Una tabla por jerarqua de clases9.1.2. Una tabla por subclase9.1.3. Una tabla por subclase, usando un discriminador9.1.4. Mezclar "una tabla por jerarqua de clases" con "una tabla por subclase"9.1.5. Una tabla por cada clase concreta9.1.6. Una tabla por cada clase concreta, usando polimorfismo implcito9.1.7. Mezclar polimorfismo implcito con otras estrategias de mapeo de herencia

    9.2. Limitaciones10. Trabajar con objetos

    10.1. Estados de un objeto de Hibernate10.2. Hacer que los objetos se vuelvan persistentes10.3. Cargar un objeto10.4. Consultas

    10.4.1. Ejecutar consultas10.4.1.1. Iterar resultados10.4.1.2. Consultas que devuelven T-uplas10.4.1.3. Resultados escalares10.4.1.4. Parmetros vinculados10.4.1.5. Paginacin10.4.1.6. Iteracin navegable10.4.1.7. Externalizar consultas nombradas

    10.4.2. Filtrar colecciones10.4.3. Consultas "Criteria"10.4.4. Consultas en SQL nativo

    10.5. Modificar objetos persistentes10.6. Modificar objetos desprnendidos10.7. Deteccin automtica de estado10.8. Borrar objetos persistentes10.9. Replicar un objeto entre dos repositorios de datos distintos10.10. "Flush" de la sesin10.11. Persistencia transitiva

    HIBERNATE - Persistencia Relacional para Java Idiomtico http://www.hibernar.org/documentacion_es/castellano.html

    3 de 198 17/02/2009 09:25 a.m.

  • 10.12. Usar metadatos11. Transacciones y concurrencia

    11.1. La sesin y el alcance (scope) de las transacciones11.1.1. Unidad de trabajo11.1.2. Conversaciones largas11.1.3.Considerar la identidad de los objetos11.1.4. Problemas comunes

    11.2. Demarcacin de las transacciones de base de datos11.2.1. Entornos no administrados11.2.2. Usar JTA11.2.3. Manejo de excepciones11.2.4. Expiracin de transacciones

    11.3. Control optimista de concurrencia11.3.1. Chequeo de versin hecho por la aplicacin11.3.2. Sesin extendida y versionado automtico11.3.3. Objetos desprendidos y versionado automtico11.3.4. Crear un mtodo a medida para el versionado automtico

    11.4. "Lock" pesimista11.5. Modos de liberacin de conecciones

    12. Interceptores y eventos12.1. Interceptores12.2. Sistema de eventos12.3. Seguridad declarativa de Hibernate

    13. Procesamiento en lotes13.1. Inserciones en lotes13.2. Actualizaciones en lotes13.3. La interfaz StatelessSession13.4. Operaciones del tipo "Lenguaje de Modificacion de Datos" (DML-style)

    14. HQL: El lenguaje de consultas de Hibernate14.1. Relevancia de maysculas y minsculas14.2. La clusula "from"14.3. Asociaciones y "joins"14.4. Formas de la sintaxis de los "joins"14.5. Referirse a la propiedad identificadora14.6. La clusula "select"14.7. Funciones agregadas14.8. Consultas polimrficas14.9. La clusua "where"14.10. Expresiones14.11. La clusula "order by"14.12. La clusula "group by"14.13. Subconsultas14.14. Ejemplos de HQL14.15. Actualizaciones y borrados en masa14.16. Consejos y trucos14.17. Componentes14.18. Sintaxis del "Constructor de Valor de Fila" (row value constructor)

    15. Consultas "Criteria"15.1. Crear una instancia de Criteria15.2. Acotar el resultado15.3. Ordenar el resultado15.4. Asociaciones15.5. Captura dinmica de asociaciones15.6. Consultas "Example"15.7. Proyecciones, agregado y agrupamiento15.8. Consultas y subconsultas desprendidas15.9. Consultas por identificador natural

    16. SQL nativo16.1. Usar un SQLQuery

    16.1.1. Consultas escalares16.1.2. Consultas con entidades16.1.3. Manipular colecciones y asociaciones16.1.4. Devolver mltiples entidades

    HIBERNATE - Persistencia Relacional para Java Idiomtico http://www.hibernar.org/documentacion_es/castellano.html

    4 de 198 17/02/2009 09:25 a.m.

  • 16.1.4.1. Alias y referencias a propiedades16.1.5. Devolver entidades no administradas16.1.6. Manejar herencia16.1.7. Parmetros

    16.2. Consultas SQL nombradas16.2.1. Usar return-property para especificar nombres de columna/alias explcitamente16.2.2. Usar procedimientos almacenados (stored procedures) para efectuar consultas

    16.2.2.1. Reglas y limitaciones en el uso de procedimientos almacenados16.3. SQL a medida para crear, almacenar y borrar16.4. SQL a medida para cargar

    17. Filtrar datos17.1. Filtros de Hibernate

    18. Mapeo XML18.1. Trabajar con datos XML

    18.1.1. Especificar el mapeo XML y el mapeo de la clase al mismo tiempo18.1.2. Especificar slo un mapeo XML

    18.2. Metadatos del mapeo XML18.3. Manipulacin de los datos XML

    19. Mejorar la performance19.1. Estrategias de captura (fetch)

    19.1.1. Trabajar con asociaciones haraganas19.1.2. Ajustar las estrategias de captura19.1.3. Proxies de las asociaciones de un solo extremo19.1.4. Inicializar colecciones y proxies19.1.5. Usar la captura por lotes19.1.6. Usar la captura mediante subselects19.1.7. Usar la captura de propiedades haragana