La API de Persistencia de Java (JPA) especifica cómo mapear objetos de Java a tablas relacionales de bases de datos. Reemplaza los Entity Beans de EJB con clases de entidad estándar de Java anotadas. Proporciona una interfaz para consultas y gestión del ciclo de vida de las entidades mediante el Entity Manager.
El documento describe la API de persistencia Java Persistence (JPA). JPA es un estándar ORM que permite mapear objetos Java a tablas de una base de datos relacional de una manera declarativa mediante anotaciones. JPA proporciona una capa de abstracción sobre tecnologías de acceso a datos como JDBC para facilitar la persistencia de datos.
Una introducción a los conceptos y las características básicas de la API de persistencia para la plataforma Java, desde un punto de vista neutral (sin una preferencia por algún proveedor de persistencia en particular) comenzando desde el planteo de la necesidad de un ORM, y pasando luego por conceptos básicos como las relaciones entre entidades, ciclo de vida de las mismas, JPQL, criteria API.
El documento describe la API de persistencia de Java (JPA), la cual proporciona un estándar para gestionar datos relacionales en aplicaciones Java. JPA simplifica el desarrollo de la persistencia de datos mediante el mapeo de objetos a tablas de base de datos a través de anotaciones. Define conceptos como entidades, asociaciones, consultas y transacciones.
Introducción a Doctrine 2 ORM.
Una introducción y uso básico de Doctrine 2 ORM en PHP sin utilizar frameworks, a través de un proyecto sencillo usado como ejemplo.
El codigo PHP del proyecto se puede descargar de su repositorio de Github: (https://github.com/gonfert/cine.git)
Presentación realizada para la X Symfony Zaragoza
JPA (Java Persistence API) es un modelo de persistencia para mapear objetos Java a bases de datos relacionales usando anotaciones en lugar de archivos XML. Las principales anotaciones incluyen @Entity para marcar clases como entidades, @Id para identificar la clave primaria de una entidad, y @Basic, @OneToMany, @OneToOne, @ManyToOne y @ManyToMany para especificar atributos y relaciones. Un JPA Controller maneja las operaciones CRUD para cada clase de entidad.
Esta presentación les ayudará a entender como JPA maneja las relaciones de clases y las llaves primarias compuestas.
Además de como crear validadores y conversores.
Este documento presenta una introducción a Hibernate, un framework para mapeo objeto-relacional. Explica cómo Hibernate mapea elementos de una base de datos relacional a objetos de una aplicación, haciendo la aplicación independiente del lenguaje SQL y del sistema de gestión de bases de datos. También describe cómo Hibernate se puede utilizar como capa de persistencia en una arquitectura MVC para aplicaciones web. Finalmente, proporciona una guía paso a paso para crear una primera aplicación simple con Hibernate.
Este documento describe las tres capas principales de una arquitectura de desarrollo de aplicaciones empresariales: la capa de presentación, la capa de negocio y la capa de acceso a datos. Explica conceptos clave como entidades, beans de sesión y delegados, y cómo estas tres capas interactúan entre sí para implementar la lógica del negocio y el acceso a la base de datos de forma segura y eficiente.
El documento describe la API de persistencia Java Persistence (JPA). JPA es un estándar ORM que permite mapear objetos Java a tablas de una base de datos relacional de una manera declarativa mediante anotaciones. JPA proporciona una capa de abstracción sobre tecnologías de acceso a datos como JDBC para facilitar la persistencia de datos.
Una introducción a los conceptos y las características básicas de la API de persistencia para la plataforma Java, desde un punto de vista neutral (sin una preferencia por algún proveedor de persistencia en particular) comenzando desde el planteo de la necesidad de un ORM, y pasando luego por conceptos básicos como las relaciones entre entidades, ciclo de vida de las mismas, JPQL, criteria API.
El documento describe la API de persistencia de Java (JPA), la cual proporciona un estándar para gestionar datos relacionales en aplicaciones Java. JPA simplifica el desarrollo de la persistencia de datos mediante el mapeo de objetos a tablas de base de datos a través de anotaciones. Define conceptos como entidades, asociaciones, consultas y transacciones.
Introducción a Doctrine 2 ORM.
Una introducción y uso básico de Doctrine 2 ORM en PHP sin utilizar frameworks, a través de un proyecto sencillo usado como ejemplo.
El codigo PHP del proyecto se puede descargar de su repositorio de Github: (https://github.com/gonfert/cine.git)
Presentación realizada para la X Symfony Zaragoza
JPA (Java Persistence API) es un modelo de persistencia para mapear objetos Java a bases de datos relacionales usando anotaciones en lugar de archivos XML. Las principales anotaciones incluyen @Entity para marcar clases como entidades, @Id para identificar la clave primaria de una entidad, y @Basic, @OneToMany, @OneToOne, @ManyToOne y @ManyToMany para especificar atributos y relaciones. Un JPA Controller maneja las operaciones CRUD para cada clase de entidad.
Esta presentación les ayudará a entender como JPA maneja las relaciones de clases y las llaves primarias compuestas.
Además de como crear validadores y conversores.
Este documento presenta una introducción a Hibernate, un framework para mapeo objeto-relacional. Explica cómo Hibernate mapea elementos de una base de datos relacional a objetos de una aplicación, haciendo la aplicación independiente del lenguaje SQL y del sistema de gestión de bases de datos. También describe cómo Hibernate se puede utilizar como capa de persistencia en una arquitectura MVC para aplicaciones web. Finalmente, proporciona una guía paso a paso para crear una primera aplicación simple con Hibernate.
Este documento describe las tres capas principales de una arquitectura de desarrollo de aplicaciones empresariales: la capa de presentación, la capa de negocio y la capa de acceso a datos. Explica conceptos clave como entidades, beans de sesión y delegados, y cómo estas tres capas interactúan entre sí para implementar la lógica del negocio y el acceso a la base de datos de forma segura y eficiente.
El SqlDataAdapter actúa como puente entre un DataSet y una base de datos SQL Server para recuperar y guardar datos. Permite llenar un DataSet con datos de la base de datos y actualizar la base de datos con cualquier cambio realizado en el DataSet mediante el uso de comandos SQL como Fill y Update.
Un objeto Statement se usa para enviar sentencias SQL a la base de datos y obtener los resultados. Actualmente hay tres tipos de objetos Statement, todos los cuales actúan como contenedores para la ejecución de sentencias en una conexión dada
El DataSet es una representación en memoria de datos que contiene múltiples tablas DataTable, así como relaciones entre ellas. El DataTable representa una sola tabla de datos y proporciona eventos para procesar cambios en los datos, mientras que el DataSet modela de forma coherente los datos independientemente de su origen.
Metodologia para resolver problemas con Programacion orientada a ObjetosWilliam Diaz S
Propuesta metodología para enseñar a programar
Enfatiza Métodos /técnicas
Como generar algoritmos
Método de los refinamientos sucesivos de Wirth Nickaus
Clases Objetos arrays
Excelente guía para Profesores para que enseñen realmente a programar y a solucionar problemas
El DataTable es un objeto central de ADO.NET que representa una tabla en memoria. Permite interactuar con los datos de una tabla y contiene propiedades como Columns, DataSet y DefaultView. Algunos métodos importantes incluyen AcceptChanges, Clear, Compute y CreateDataReader. Al acceder a DataTables, distingue entre mayúsculas y minúsculas a menos que dos tablas tengan valores diferentes para Namespace aunque tengan el mismo TableName.
El documento presenta una agenda sobre Spring DAO, Spring JDBC y Spring Transaction Management. Spring DAO provee una forma sencilla de interactuar con tecnologías de persistencia como JDBC, Hibernate y JDO, abstrae el manejo de excepciones y permite cambiar fácilmente entre tecnologías. Spring JDBC provee clases de soporte como JdbcTemplate y SimpleJdbcTemplate para simplificar el acceso a bases de datos. Spring Transaction Management permite configurar atributos y tipos de transacciones de forma programática o declarativa.
1) La programación orientada a objetos permite crear sistemas complejos bien estructurados mediante el uso de objetos. 2) Los objetos son instancias de clases y tienen identidad, estado y comportamiento. 3) En Java, los objetos Connection, Statement y ResultSet se utilizan para establecer conexiones con bases de datos y ejecutar consultas SQL.
El documento explica los conceptos fundamentales de JDBC, incluyendo cómo conectarse a una base de datos, ejecutar consultas SQL, procesar resultados y manejar excepciones. También cubre temas avanzados como preparación de sentencias, procedimientos almacenados, transacciones y soporte para cursores y múltiples resultados.
El documento describe conceptos básicos de programación orientada a objetos y el lenguaje Visual Basic.NET. Explica los orígenes de la POO, versiones de VB.NET, el entorno de desarrollo, instrucciones, variables, clases, controles, métodos, objetos, estructuras de decisión e iteración. También cubre temas como acceso a datos, conjuntos de datos, consultas SQL y el uso de ADO.NET para interactuar con bases de datos.
Este documento proporciona una introducción a los conceptos básicos de Java, incluyendo tipos de datos primitivos, clases, objetos, herencia, paquetes, métodos y constructores. También explica operadores, declaración de variables, condicionales, bucles y cadenas de caracteres.
La interfaz Java Database Connectivity (JDBC) permite la ejecución de operaciones sobre bases de datos desde Java de forma independiente al sistema operativo o base de datos. Se basa en interfaces Java y manejadores de conexión específicos para cada base de datos. Un objeto Statement se usa para enviar sentencias SQL a la base de datos mediante los métodos executeUpdate, executeQuery y execute.
Aquí está la clase Alumno con el constructor y los métodos solicitados:
public class Alumno {
private String nombre;
private int edad;
public Alumno(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
public void imprimirDatos() {
System.out.println("Nombre: " + nombre);
System.out.println("Edad: " + edad);
}
public void esMayorEdad() {
if(edad >= 18) {
System.out.println(nombre + " es mayor de edad");
} else {
System
Este documento explica cómo configurar el entorno de Java y crear un programa "Hola Mundo" sencillo. Describe los pasos para establecer las variables de entorno de Java, compilar el código Java usando el comando "javac" y ejecutar el programa. También resume los conceptos básicos de programación orientada a objetos en Java como clases, atributos y métodos.
El documento describe los componentes principales del lenguaje SQL, incluyendo comandos, cláusulas, operadores y funciones de agregado. Explica que existen comandos DDL para crear bases de datos y comandos DML para consultas. También define algunas cláusulas comunes como FROM, WHERE, GROUP BY y ORDER BY y los operadores lógicos AND, OR y NOT.
El documento describe las características y funcionalidades principales de ADO.NET para el acceso a datos. ADO.NET provee un acceso consistente a diferentes fuentes de datos y permite ejecutar comandos y obtener resultados de manera desconectada. Utiliza el modelo de datos DataSet que almacena datos en forma de tablas y filas independientemente de la base de datos subyacente.
Este documento describe los constructores en Java. Los constructores se usan para inicializar objetos y asegurar que las variables de instancia tengan valores válidos. Existen tres tipos de constructores: el constructor por defecto, el constructor de copia y el constructor personalizado. El constructor se invoca automáticamente cuando se crea un objeto y no tiene valor de retorno.
El documento describe MyBatis como una alternativa a Hibernate para el mapeo objeto-relacional. MyBatis no es un ORM sino que mapea sentencias SQL a objetos Java a través de interfaces definidas en XML o anotaciones. Permite realizar operaciones CRUD de forma declarativa y ofrece características como cache y prevención de inyección SQL. Se explican ejemplos de uso de MyBatis con Spring y Maven así como técnicas comunes en los mappers como parámetros múltiples, reutilización de código SQL y mapeo de relaciones.
1. El documento explica cómo configurar variables de entorno en Windows para poder desarrollar programas en Java. 2. Incluye pasos como acceder a las propiedades del sistema, editar la variable Path e incluir la ruta donde se encuentra Java SDK. 3. También muestra cómo verificar que la configuración fue exitosa ejecutando comandos Java en la línea de comandos.
Este documento describe los elementos básicos que conforman una clase en programación orientada a objetos, incluyendo atributos, métodos, constructores, herencia, visibilidad, polimorfismo, abstracción e interfaces. Explica que una clase define los atributos y métodos comunes a los objetos de ese tipo, y que los objetos tendrán sus propios valores para los atributos.
Un ResultSet representa los resultados de una consulta SQL y permite acceder a los datos de las filas devueltas mediante métodos get. Contiene una tabla con las cabeceras de columna y valores. El cursor apunta a la fila actual y se mueve mediante el método next(). Los valores de las columnas pueden obtenerse por nombre o número de columna.
Introducción al trabajo con Java Persistence Api (JPA), conceptos básicos y ejemplo aplicado a una tabla posts con los siguientes campos: post_id, post_title, post_date, post_body utilizando netbeans
Este documento describe la Java Persistence API (JPA), incluyendo sus cuatro áreas principales, cómo mapear entidades a tablas de base de datos usando anotaciones, y diferentes tipos de relaciones entre entidades como uno-a-uno, uno-a-muchos, muchos-a-muchos. También explica cómo usar validaciones y otras anotaciones como @Transient, @Lob, @Temporal y @OrderBy.
El SqlDataAdapter actúa como puente entre un DataSet y una base de datos SQL Server para recuperar y guardar datos. Permite llenar un DataSet con datos de la base de datos y actualizar la base de datos con cualquier cambio realizado en el DataSet mediante el uso de comandos SQL como Fill y Update.
Un objeto Statement se usa para enviar sentencias SQL a la base de datos y obtener los resultados. Actualmente hay tres tipos de objetos Statement, todos los cuales actúan como contenedores para la ejecución de sentencias en una conexión dada
El DataSet es una representación en memoria de datos que contiene múltiples tablas DataTable, así como relaciones entre ellas. El DataTable representa una sola tabla de datos y proporciona eventos para procesar cambios en los datos, mientras que el DataSet modela de forma coherente los datos independientemente de su origen.
Metodologia para resolver problemas con Programacion orientada a ObjetosWilliam Diaz S
Propuesta metodología para enseñar a programar
Enfatiza Métodos /técnicas
Como generar algoritmos
Método de los refinamientos sucesivos de Wirth Nickaus
Clases Objetos arrays
Excelente guía para Profesores para que enseñen realmente a programar y a solucionar problemas
El DataTable es un objeto central de ADO.NET que representa una tabla en memoria. Permite interactuar con los datos de una tabla y contiene propiedades como Columns, DataSet y DefaultView. Algunos métodos importantes incluyen AcceptChanges, Clear, Compute y CreateDataReader. Al acceder a DataTables, distingue entre mayúsculas y minúsculas a menos que dos tablas tengan valores diferentes para Namespace aunque tengan el mismo TableName.
El documento presenta una agenda sobre Spring DAO, Spring JDBC y Spring Transaction Management. Spring DAO provee una forma sencilla de interactuar con tecnologías de persistencia como JDBC, Hibernate y JDO, abstrae el manejo de excepciones y permite cambiar fácilmente entre tecnologías. Spring JDBC provee clases de soporte como JdbcTemplate y SimpleJdbcTemplate para simplificar el acceso a bases de datos. Spring Transaction Management permite configurar atributos y tipos de transacciones de forma programática o declarativa.
1) La programación orientada a objetos permite crear sistemas complejos bien estructurados mediante el uso de objetos. 2) Los objetos son instancias de clases y tienen identidad, estado y comportamiento. 3) En Java, los objetos Connection, Statement y ResultSet se utilizan para establecer conexiones con bases de datos y ejecutar consultas SQL.
El documento explica los conceptos fundamentales de JDBC, incluyendo cómo conectarse a una base de datos, ejecutar consultas SQL, procesar resultados y manejar excepciones. También cubre temas avanzados como preparación de sentencias, procedimientos almacenados, transacciones y soporte para cursores y múltiples resultados.
El documento describe conceptos básicos de programación orientada a objetos y el lenguaje Visual Basic.NET. Explica los orígenes de la POO, versiones de VB.NET, el entorno de desarrollo, instrucciones, variables, clases, controles, métodos, objetos, estructuras de decisión e iteración. También cubre temas como acceso a datos, conjuntos de datos, consultas SQL y el uso de ADO.NET para interactuar con bases de datos.
Este documento proporciona una introducción a los conceptos básicos de Java, incluyendo tipos de datos primitivos, clases, objetos, herencia, paquetes, métodos y constructores. También explica operadores, declaración de variables, condicionales, bucles y cadenas de caracteres.
La interfaz Java Database Connectivity (JDBC) permite la ejecución de operaciones sobre bases de datos desde Java de forma independiente al sistema operativo o base de datos. Se basa en interfaces Java y manejadores de conexión específicos para cada base de datos. Un objeto Statement se usa para enviar sentencias SQL a la base de datos mediante los métodos executeUpdate, executeQuery y execute.
Aquí está la clase Alumno con el constructor y los métodos solicitados:
public class Alumno {
private String nombre;
private int edad;
public Alumno(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
public void imprimirDatos() {
System.out.println("Nombre: " + nombre);
System.out.println("Edad: " + edad);
}
public void esMayorEdad() {
if(edad >= 18) {
System.out.println(nombre + " es mayor de edad");
} else {
System
Este documento explica cómo configurar el entorno de Java y crear un programa "Hola Mundo" sencillo. Describe los pasos para establecer las variables de entorno de Java, compilar el código Java usando el comando "javac" y ejecutar el programa. También resume los conceptos básicos de programación orientada a objetos en Java como clases, atributos y métodos.
El documento describe los componentes principales del lenguaje SQL, incluyendo comandos, cláusulas, operadores y funciones de agregado. Explica que existen comandos DDL para crear bases de datos y comandos DML para consultas. También define algunas cláusulas comunes como FROM, WHERE, GROUP BY y ORDER BY y los operadores lógicos AND, OR y NOT.
El documento describe las características y funcionalidades principales de ADO.NET para el acceso a datos. ADO.NET provee un acceso consistente a diferentes fuentes de datos y permite ejecutar comandos y obtener resultados de manera desconectada. Utiliza el modelo de datos DataSet que almacena datos en forma de tablas y filas independientemente de la base de datos subyacente.
Este documento describe los constructores en Java. Los constructores se usan para inicializar objetos y asegurar que las variables de instancia tengan valores válidos. Existen tres tipos de constructores: el constructor por defecto, el constructor de copia y el constructor personalizado. El constructor se invoca automáticamente cuando se crea un objeto y no tiene valor de retorno.
El documento describe MyBatis como una alternativa a Hibernate para el mapeo objeto-relacional. MyBatis no es un ORM sino que mapea sentencias SQL a objetos Java a través de interfaces definidas en XML o anotaciones. Permite realizar operaciones CRUD de forma declarativa y ofrece características como cache y prevención de inyección SQL. Se explican ejemplos de uso de MyBatis con Spring y Maven así como técnicas comunes en los mappers como parámetros múltiples, reutilización de código SQL y mapeo de relaciones.
1. El documento explica cómo configurar variables de entorno en Windows para poder desarrollar programas en Java. 2. Incluye pasos como acceder a las propiedades del sistema, editar la variable Path e incluir la ruta donde se encuentra Java SDK. 3. También muestra cómo verificar que la configuración fue exitosa ejecutando comandos Java en la línea de comandos.
Este documento describe los elementos básicos que conforman una clase en programación orientada a objetos, incluyendo atributos, métodos, constructores, herencia, visibilidad, polimorfismo, abstracción e interfaces. Explica que una clase define los atributos y métodos comunes a los objetos de ese tipo, y que los objetos tendrán sus propios valores para los atributos.
Un ResultSet representa los resultados de una consulta SQL y permite acceder a los datos de las filas devueltas mediante métodos get. Contiene una tabla con las cabeceras de columna y valores. El cursor apunta a la fila actual y se mueve mediante el método next(). Los valores de las columnas pueden obtenerse por nombre o número de columna.
Introducción al trabajo con Java Persistence Api (JPA), conceptos básicos y ejemplo aplicado a una tabla posts con los siguientes campos: post_id, post_title, post_date, post_body utilizando netbeans
Este documento describe la Java Persistence API (JPA), incluyendo sus cuatro áreas principales, cómo mapear entidades a tablas de base de datos usando anotaciones, y diferentes tipos de relaciones entre entidades como uno-a-uno, uno-a-muchos, muchos-a-muchos. También explica cómo usar validaciones y otras anotaciones como @Transient, @Lob, @Temporal y @OrderBy.
La API de persistencia de Java permite el acceso a bases de datos relacionales desde aplicaciones Java. Utiliza JDBC para conectarse a bases de datos y gestiona pools de conexiones JDBC. Las clases entidad representan registros de bases de datos y se definen con anotaciones. Las consultas se especifican en JPQL y se ejecutan mediante objetos TypedQuery gestionados por EntityManagers.
Este documento resume los conceptos clave de Java Persistence API (JPA), incluyendo frameworks de persistencia, mapeo objeto-relacional, entidades, relaciones entre entidades, y operaciones básicas como persistencia, recuperación y eliminación. JPA es un estándar para almacenar y recuperar objetos en bases de datos relacionales de forma transparente mediante anotaciones y consultas de objetos.
Este documento describe la arquitectura y componentes principales para conectar una aplicación Java a una base de datos MySQL utilizando JDBC. Explica cómo el driver JDBC MySQL implementa las interfaces estándar de JDBC para establecer una conexión cliente-servidor, y cómo las clases Connection, Statement y ResultSet permiten ejecutar consultas y actualizar datos en la base de datos. También resume los pasos típicos del ciclo de vida de una conexión JDBC.
Este documento proporciona una introducción básica al lenguaje de programación Java, incluyendo conceptos como comentarios, identificadores, palabras clave, literales, operadores, tipos de datos primitivos, clases, objetos, variables, métodos, control de flujo, paquetes, entrada/salida, compilación y ejecución de programas, arrays, cadenas de texto y gestión de ficheros. Explica los elementos fundamentales de Java necesarios para comenzar a programar en este lenguaje.
Este documento proporciona una introducción al lenguaje de programación Java. Explica conceptos básicos como comentarios, identificadores, palabras clave, literales y operadores. También describe tipos de datos primitivos, clases, variables miembro, métodos, estructuras de control de flujo, paquetes, importaciones, entrada/salida estándar, compilación y ejecución. Además, cubre temas como arrays, cadenas de texto, vectores dinámicos y gestión de archivos.
Este documento proporciona una introducción a los conceptos básicos del lenguaje de programación Java, incluyendo comentarios, identificadores, palabras clave, literales, operadores, separadores, tipos de datos primitivos, objetos, clases, variables, métodos, estructuras de control de flujo, paquetes, entrada y salida estándar, compilación y ejecución, arrays y la clase String.
Tema 9 aplicaciones de dos capas por gioRobert Wolf
Una aplicación de dos capas separa el código de la aplicación del sistema de administración de la base de datos. En Java, la API JDBC proporciona una interfaz estándar para que un cliente escrito en Java se comunique con administradores de bases de datos. La API JDBC consta de interfaces y clases que representan conexiones, sentencias SQL y resultados de consultas. Las aplicaciones de dos capas encapsulan esta funcionalidad en clases como Conexión y Tabla para establecer conexiones y ejecutar operaciones SQL de forma sencilla.
La persistencia de datos es una necesidad básica para los sistemas de información. Java Persistence API (JPA) proporciona un modelo de persistencia para mapear objetos Java a bases de datos relacionales mediante anotaciones. JPA consta del API de Java, lenguaje de consultas y mapeo de metadatos objeto-relacional.
Este documento introduce el lenguaje de programación Java. Java es independiente de la plataforma y compila a bytecodes en lugar de código nativo. Los bytecodes se ejecutan en la Java Virtual Machine, la cual traduce el bytecode a código de máquina. Java incluye clases, herencia, polimorfismo y manejo de excepciones. Los programas en Java se compilan con javac y se ejecutan con java.
El documento describe los tipos de objetos en .NET, incluyendo tipos por valor y referencia, así como estructuras, enumeraciones, cadenas y StringBuilder. Los tipos incluyen datos integrados como enteros y cadenas, así como tipos definidos por el usuario como clases y estructuras. Los tipos por valor se almacenan en la pila mientras que los tipos por referencia almacenan direcciones de memoria en la pila y los datos en el montón.
Tema 15 aplicaciones de dos capas por gioRobert Wolf
Una aplicación de dos capas separa el código de la aplicación del sistema de administración de la base de datos. En una aplicación de dos capas, el cliente contiene la interfaz de usuario y lógica del negocio, mientras que el servidor contiene un administrador de bases de datos. La API JDBC de Java proporciona una forma estándar para que un cliente Java se comunique con diferentes administradores de bases de datos a través de un protocolo.
Este documento proporciona una introducción a los conceptos básicos de la programación orientada a objetos en Java, incluyendo definiciones de objetos, clases, atributos, métodos, constructores, instancias, variables, tipos de datos, operadores y más.
Este documento explica la gestión de propiedades de aplicación y de internacionalización en UDA a través de Spring. Se detallan dos formas de declarar y acceder a las propiedades: mediante anotaciones de forma programática o a través de XML de forma declarativa. También se especifican las ubicaciones y objetos utilizados para gestionar las propiedades a nivel de EAR y WAR. Finalmente, se ofrece un ejemplo de cómo consumir propiedades desde clases de utilidades propias.
Este documento proporciona instrucciones para conectarse a bases de datos MySQL y SQL Server 2005 utilizando NetBeans IDE 6.1. Explica cómo cargar el controlador de base de datos, establecer la conexión, enviar consultas SQL y cerrar conexiones. También incluye tres ejemplos de código para conectarse a MySQL y SQL Server y realizar consultas desde un formulario de Java.
2. La API de Persistencia de Java.
Reemplaza los EJBs llamados Entity Beans con
clases Entidad que no son EJBs.
Es una API standard para especificar información de
mapeo de Objetos a Tablas Relacionales.
Se puede usar con o sin un Application Server de
Java EE.
Hay dos tipos de persistencia:
–
–
Container-Managed Persistence
Application-Managed Persistence
3. Software de Mapeo Objeto-Relacional
(ORM).
Proporciona
la conversión automática de
tablas relacionales a objetos en memoria.
Algunos ejemplos son Oracle Toplink,
GlassFish, Toplink Essentials, BEA Systems
Kodo y Hibernate.
6. Java Persistence API y ORM.
La API de Persistencia de Java especifica las
características de tecnologías existentes de ORM en
la tecnología Java EE.
Es solamente una especificación, no un software
ORM utilizable.
Se requiere una implementación particular.
Sun Application Server (GlassFish) utiliza Toplink
Essentials (Implementación de Referencia) como
default.
7. Declaración de las Clases Entidad.
Se codifican como clases standard de Java con las
siguientes características:
–
–
–
–
–
–
Marcadas con la anotación javax.persistence.Entity en la
clase o declaradas como "Entities" en un Deployment
Descriptor.
Deben ser clases públicas.
Tener un constructor sin argumentos con acceso public o
protected.
Que se puedan extender, es decir, que no sean finales.
Que implementen la interfaz serializable si van a ser
entregadas vía return por EJBs de sesión remotos.
No pueden ser clases internas (Inner Classes).
8. Ejemplo de una Clase Entidad.
import java.io.Serializable;
import javax.persistence.*;
@Entity @Table(name = "TABLE1")
public class MyEntity implements Serializable {
@Id @Column(name = "ID") private int id;
@Column(name = "MSG") private String message;
protected MyEntity() { }
public MyEntity(int id, String message) {
this.id = id;
this.message = message;
}
public int getId() { return id; }
public String getMessage() { return message; }
public void setMessage(String message) {
this.message = message; }
}
}
9. Mapeo de Default.
El nombre de la tabla es por default igual a la de la Clase Entidad.
Se puede cambiar con la anotación @Table.
–
–
–
@Entity
@Table(name = "Customer")
public class Cliente { L }
10. Mapeo de Default (2).
El nombre de la propiedad o atributo de la Clase
Entidad es por default igual al nombre de la columna
de la tabla.
Se puede cambiar con la anotación @Column.
@Entity
@Table(name = "Customer")
public class Cliente {
@Column(name="nombre")
private String name;
}
11. Campos Persistentes vs. Propiedades
Persistentes.
El estado de las Clases Entidad se sincroniza con la
base de datos.
El estado de una Clase Entidad se obtiene de sus
variables de instancia (campos) o de sus
propiedades (variables más métodos getters y
setters).
La obtención del estado se determina por la
colocación de las anotaciones.
No se pueden tener ambos casos.
12. Obtención de Estado vía Campos
Persistentes.
Cuando el acceso es vía Campos Persistentes, el contenedor obtiene
el estado leyendo directamente las variables de la clase.
Las variables no pueden ser públicas.
No deben ser leídas directamente por el cliente.
Todas las variables son "persistidas" a menos que se declaren como
transient de java o se les ponga la anotación @Transient.
Por ejemplo:
@Id @Column(name = "ID") private int id;
@Column(name = "MSG") private String message;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getMessage() { return message; }
public void setMessage(String message) { this.message = message; }
13. Obtención de Estado vía Propiedades
Persistentes.
Cuando el acceso es vía Propidades Persistentes, el contenedor
obtiene el estado usando los métodos getter.
Los métodos deben ser públicos o portected.
Deben seguir las convenciones de nombres de los Java Beans.
Las anotaciones deben ir en los métodos getters.
Por ejemplo:
private int id;
private String message;
@Id @Column(name = "ID") public int getId() { return id; }
public void setId(int id) { this.id = id; }
@Column(name = "MSG")
public String getMessage() { return message; }
public void setMessage(String message) { this.message = message; }
14. Tipos de Datos Persistentes.
Primitivos de Java.
Objetos de clases Wrapper de Java.
java.lang.String
byte[ ] y Byte[ ]
char[ ] y Character[ ]
Cualquier tipo serializable como:
–
–
–
java.util.Date
java.sql.Date
java.sql.TimeStamp
15. Concepto de Llave Primaria.
Cada objeto de Clase Entidad se distingue por tener una llave
primaria.
La llave primaria proporciona identidad a la Clase Entidad.
Típicamente son Strings o enteros, pero pueden también ser
objetos de otras clases que corresponden a varias columnas
de la tabla que representan.
Cada Clase Entidad debe tener una llave primaria.
Se marcan con la anotación @Id.
Pueden ser autoincrementables.
Por ejemplo:
@Id @GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID", nullable = false)
private int id;
17. Otros Conceptos de la API de
Persistencia.
Unidad
de Persistencia (Persistence Unit).
Administrador de Entidad (Entity Manager).
Contexto de Persistencia (Persistence
Context).
Identidad de Persistencia (Persistence
Identity).
Es la llave primaria.
18. Persistence Unit.
Una
Unidad de Persistencia en una
colección de Clases Entidad representadas
por un archivo llamado persistence.xml
contenido dentro de un archivo EAR, JAR o
WAR de una aplicación Java EE.
Una Unidad de Persistencia define que
Clases Entidad son administradas por un
Entity Manager.
Está limitada a un solo DataSource.
19. El Archivo persistence.xml.
Configura que clases constituyen una Unidad de Persistencia.
Define la base de la Unidad de Persistencia, es decir el archivo al que
pertenece.
Especifica el Data Source utilizado.
Ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="BrokerTool-ejb" transaction-type="JTA">
<jta-data-source>StockMarket</jta-data-source>
<jar-file>BrokerLibrary.jar</jar-file>
<properties/>
</persistence-unit>
</persistence>
20. El Persistence Context.
Se interpreta como una copia activa de una Unidad
de Persistencia.
Se pueden tener varios Contextos de Persistencia
que usan la misma Unidad de Persistencia activos al
mismo tiempo.
El Contexto de Persistencia:
–
–
–
Típicamente dura lo mismo que una transacción.
Limita las instancias de Entidades a una sola instancia por
Identidad de Persistencia.
Tiene una API para su manejo, conocida como el Entity
Manager.
21. El Entity Manager.
Proporciona los métodos para controlar eventos en
un Contexto de Persistencia y el ciclo de vida de las
instancias de Clases Entidad en un Contexto de
Persistencia.
El Entity Manager:
–
–
–
Proporciona operaciones como flush(), find() y
createQuery() para controlar un Contexo de Persistencia.
Reemplaza la funcionalidad de las interfaces home de los
EJBs de entidad anteriores.
Se obtiene usando anotaciones en clases manejadas por el
contenedor:
@PersistenceContext private EntityManager em;
22. Ejemplo de Manejo de Clases Entidad.
import javax.persistence.*;
import javax.ejb.*;
@Remote @Stateless
public class BrokerModelImpl implements BrokerModel {
@PersistenceContext private EntityManager em;
public Stock getStock(String symbol) throws BrokerException {
Stock stock = em.find(Stock.class, symbol);
if(stock != null) {
return stock;
} else {
throw new BrokerException("Stock : " + symbol + " not found");
}
}
public void addStock(Stock stock) throws BrokerException {
try {
em.persist(stock);
} catch(EntityExistsException exe) {
throw new BrokerException("Duplicate Stock : " +
stock.getSymbol();
}
}
23. Ejemplo de Manejo de Clases Entidad
(2).
public void updateStock(Stock stock) throws BrokerException {
Stock s = em.find(Stock.class, stock.getSymbol());
if(s == null) {
throw new BrokerException("Stock : " + stock.getSymbol() + " not found");
} else {
em.merge(stock);
}
}
public void deleteStock(Stock stock) throws BrokerException {
String id = stock.getSymbol();
stock = em.find(Stock.class, id);
if(stock == null) {
throw new BrokerException("Stock : " + stock.getSymbol() +" not found");
} else {
em.remove(stock);
}
}
}
27. Anotaciones Especiales.
Una Entidad puede ser notificada antes o después
de cambios en su ciclo de vida, utilizando métodos
con anotaciones especiales:
–
–
–
–
–
–
–
@PrePersist
@PostPersist
@PreRemove
@PostRemove
@PreUpdate
@PostUpdate
@PostLoad
28. Tópicos Avanzados de Persistencia.
Relaciones – La API de Persistencia soporta el
manejo de llaves foráneas y tablas relacionadas. En
Java, estas relaciones se modelan mediante
relaciones de Herencia de Entidades.
Java Persistence Query Language – Es un dialecto
de SQL portable utilizado para evitar dependencias
de SQL en aplicaciones Java.
Queries – de dos tipos:
–
–
NamedQueries – para Persistence Query Language.
NativeQueries. – para queries de SQL normal.
29. Ejemplo de un Query de Persitence
Query Language.
@Entity
@NamedQuery(name="FindAllOpenAuctions",
query=" SELECT OBJECT(a) FROM Auction AS a WHERE a.status=
'OPEN'")
Usan el Persistence Query Language en vez de
SQL.
Hacen la aplicación altamente portable.
No pueden utilizar características especiales de
SQL.
30. Ejemplo de un Query Nativo.
Query query = em.createNativeQuery("SELECT * FROM
Customer",Customer.class);
List customers = query.getResultList();
Query query = em.createNativeQuery("SELECT * FROM
SHARESWHERE
SSN = '" + customerId + "'", CustomerShare.class);
List shares = query.getResultList();
Usan
SQL standard.
No se recomiendan porque pueden hacer la
aplicación poco portable.