Вы находитесь на странице: 1из 5

El Java Persistence API (JPA) es el estndar de Java para el mapeo Objetos Java a una base de datos relacional.

Aunque patentada productos cartogrficos como Hibernate y TopLink todava existen, ahora se centran en la prestacin de su funcionalidad a travs de la API de JPA, lo que permite que todas las aplicaciones sean portables a travs de JPA implementaciones. Esto dar a los usuarios refcard suficiente comprender los conceptos bsicos de la APP y empezar a escribir JPA aplicaciones. Cubre entidades, identificadores, O-R mappings, utilizando un gestor de entidades, crear y ejecutar consultas, y configuracin del archivo persistence.xml. MAPING DE UN OBJETO La unidad bsica de persistencia de JPA es la entidad, que es nada ms que una clase de Java con metadatos para describir cmo sus mapas del estado a las tablas de base de datos. metadatos puede estar en la forma de anotaciones en la clase de entidad s mismos, o puede ser un archivo XML adjunto, pero estamos usando anotaciones ya que son ms fciles de entender y especificar. Cada clase de entidad debe tener un marcador y una Entidad @ campo de identificador, indicado por @ Id, que se asigna a la primaria columna de clave en la base de datos. Cuando un campo contiene sencillo datos y mapas a una columna regular en la base de datos que lo llamamos un mapeo de base, por lo tanto un campo identificador es un tipo especial de base mapeo. Cuando una entidad tiene un campo que hace referencia a uno o ms otras entidades, que los mapas de campo a una columna de clave externa, y es denomina un campo de relacin. Aparte del campo de identificador, bsico asignaciones no deben ser anotados, pero debe relaciones especificar por su cardinalidad relacin. Normas incumplan en JPA significa que no es necesario especificar los nombres de tabla y nombres de columna que la entidad est asignado. si usted no est satisfecho con los valores por defecto JPA-asignado entonces se puede siempre les anular a travs de la utilizacin de la cartografa adicional metadatos. Por ejemplo, poniendo la Tabla @ en la clase de entidad usted puede hacer que el nombre de la tabla explcito, y anotando un campo de la cartografa bsica con @ Column se puede definir lo particular columna que asigna al Estado en ese campo. Asimismo @ JoinColumn se utiliza para alterar temporalmente el nombre de la columna de clave externa para referencias relacin. Un ejemplo de dos entidades mapeadas son la mascota y dueo clases que se muestran en los listados 1 y 2. Listado 1 - clase de entidad para mascotas
Listing 1 Pet entity class
@Entity

@Table(name="PET_INFO") public class Pet { @Id @Column(name="ID") int licenseNumber; String name; PetType type; @ManyToOne @JoinColumn(name="OWNER_ID") Owner owner; ... }

Listing 2 - Owner entity class


@Entity public class Owner { @Id int id; String name; @Column(name="PHONE_NUM") String phoneNumber; @OneToOne Address address; @OneToMany(mappedBy="owner") List<Pet> pets; ... }

En un par relacin bidireccional, tal como la OneToMany @ Propietario en relacin a la mascota y la relacin ManyToOne @ de regreso de mascotas al propietario, slo una clave externa es necesaria una de las tablas para administrar ambos lados de la relacin. como Como regla general, el lado que no tiene la clave externa en lo especifica un atributo mappedBy en la relacin y anotacin especifica el campo en la entidad relacionada que asigna la clave externa. MAPEANDO UN OBJETO OBTENCIN DE UN GERENTE DE LA ENTIDAD La clase EntityManager es la API principal de JPA. Se utiliza para crear nuevas entidades, fabricar consultas para devolver conjuntos de las entidades existentes, se funden en el estado de forma remota modificada entidades, eliminar entidades de la base de datos, y ms. Existen, en general, dos tipos principales de entidad gerentes:

La obtencin de un gestor de entidades no administrado

import javax.persistence.*; ... EntityManagerFactory emf = Persistence .createEntityManagerFactory("PetShop"); EntityManager em = emf.createEntityManager(); ... em.close();

En 4 Listado vemos como un contenedor de host estndar puede proporcionar una sencilla manera de obtener un gestor de entidades. La nica pega es que esto slo se admite en los componentes Java EE estndar (o contenedores que cumplen con el contrato contenedor APP), por lo que este ejemplo se utiliza un bean de sesin sin estado.
Listing 4 Injecting a managed entity manager
@Stateless public class MyBean implements MyInterface { @PersistenceContext(unitName="PetShop")
EntityManager em;

... }

La fusin () tambin se puede utilizar para crear entidades, pero es ms til para la fusin en la entidad los cambios realizados en el cliente. TRANSACCIONES Ya que acabamos de mencionar las transacciones, pero no las explican, ahora sera un buen momento para decir que APP es compatible con dos diferentes tipos de transacciones.

Transacciones JTA se ponen en marcha y comprometidos con la usual tcnicas de los contenedores, ya sea llamando a la API UserTransaction o haciendo uso de contenedores gestionados demarcacin de la transaccin en EJB o primavera. Por ejemplo, si los mtodos en el Listado 5 fueron en un bean sesin que tuvo un atributo de transaccin requerida establecer entonces la operacin se inici a principios y comprometido al final de cada llamada a mtodo cliente. Cuando se usan transacciones locales de la transaccin debe ser demarcadas manualmente mediante la invocacin de la EntityTransaction instancia se accede desde el gestor de la entidad. Cada uno de los tres mtodos en el Listado 5 que causaron la base de datos para cambiar lo hara

necesita tener begin y commit llamadas, como se muestra en el Listado 6 para el mtodo persist. Mtodos que slo leen desde la base de datos no es necesario que se producen dentro de una transaccin. CONSULTAS Las consultas dinmicas son objetos que se crean a partir de una entidad gerente, y luego ejecutado. Los criterios de consulta se especifican en el momento de la creacin como un lenguaje de consulta de Java Persistence (JP QL) cadena. Antes de ejecutar la consulta de un nmero de posibles llamadas de mtodo de configuracin se puede hacer en la instancia de la consulta para configurarlo. Listado 7 muestra un ejemplo de creacin y ejecutar una consulta que devuelve todas las instancias de mascotas, o los 100 primero si hay ms de 100 casos.
isting 7 Creating and executing a dynamic query
Query q = em.createQuery("SELECT p FROM Pet p"); q.setMaxResults(100); List results = q.getResultList(); Una consulta con nombre es una consulta que se define de forma esttica y luego instancias y ejecutado en tiempo de ejecucin. Se puede definir como un anotacin en la clase de entidad, asignndole un nombre que sea usa cuando la consulta se crea. El Listado 8 muestra una consulta con nombre definidos en la entidad de mascotas.

Listing 8 Defining a named query


@NamedQuery(name="Pet.findByName", query="SELECT p FROM Pet p WHERE p.name LIKE :pname") @Entity public class Pet { ... }

El ltimo identificador como prefijo con dos puntos (:) carcter para indicar que es un parmetro llamado que debe enlazarse en tiempo de ejecucin antes de la consulta puede ser ejecutado. Listado 9 muestra un mtodo que ejecuta la consulta por primera instancias de un objeto Query usando el mtodo de fbrica createNamedQuery (), entonces la unin pname el parmetro con nombre al nombre que se aprob en el mtodo, y finalmente ejecutar la consulta invocando getResultList ().
Listing 9 Executing a named query
public List findAllPetsByName(String petName) { Query q = em.createNamedQuery("Pet.findByName"); q.setParameter("pname", petName); return q.getResultList(); } JAVA PERSISTENCE QUERY LEGUAGE

La persistencia de Java Lenguaje de consulta es similar a SQL, pero funciona sobre las entidades y sus atributos persistentes asignada en lugar del esquema SQL. Muchas de las funciones de SQL y an palabras reservadas son compatibles con JP QL.

Hay tres tipos bsicos de JP QL estados, de los cuales el primero es monstruosamente los ms populares y tiles: selecciona a granel actualizaciones y borrados a granel.
1. select_clause from_clause [where_clause] [groupby_clause] [having_clause] [orderby_clause] 2. update_clause [where_clause] 3. delete_clause [where_clause]

Sin contar las asignaciones de la entidad a la base de datos tablas, en realidad slo hay una unidad de APP configuracin necesaria para conseguir su aplicacin en marcha. Se basa en la nocin de una unidad de persistencia, y se configura en un archivo llamado persistence.xml, que siempre debe ser colocado en el METAINF directorio de su unidad de despliegue. Cada unidad de persistencia es un configuracin de cierre sobre los ajustes necesarios para funcionar en el pertinente ambiente. El padre de familia elemento en un persistence.xmlfile es la persistencia elemento, y puede contener uno o ms unidad de persistencia elementos que representan ejecucin diferente configuraciones. Cada uno debe ser identificado con el obligatorio persistence-unit nombre del atributo. Hay requisitos ligeramente diferentes para configurar los unidad de persistencia, dependiendo de si va a implementar a un entorno contenedor administrado o una no administrada. en un contenedor administrado de la base de datos destino se indica a travs de el elemento jta-data-source, que es el nombre JNDI para el fuente de datos gestionados describir el estado en que se almacena entidad

Вам также может понравиться

  • 115 Ejercicios resueltos de programación C++
    115 Ejercicios resueltos de programación C++
    От Everand
    115 Ejercicios resueltos de programación C++
    Рейтинг: 3.5 из 5 звезд
    3.5/5 (7)
  • Aprende Programación Web con PHP y MySQL
    Aprende Programación Web con PHP y MySQL
    От Everand
    Aprende Programación Web con PHP y MySQL
    Рейтинг: 4 из 5 звезд
    4/5 (4)
  • 00 - JPA en Spring Boot
    00 - JPA en Spring Boot
    Документ8 страниц
    00 - JPA en Spring Boot
    Raul sanchez mancilla
    Оценок пока нет
  • Guía #13 Tema:: Java Persistence Api (Jpa)
    Guía #13 Tema:: Java Persistence Api (Jpa)
    Документ27 страниц
    Guía #13 Tema:: Java Persistence Api (Jpa)
    Gustavo Chalela
    Оценок пока нет
  • Jpa Modificada
    Jpa Modificada
    Документ21 страница
    Jpa Modificada
    marcos
    Оценок пока нет
  • Spring Básico
    Spring Básico
    Документ27 страниц
    Spring Básico
    hector mauricio tequita robayo
    Оценок пока нет
  • Taller de Jpa
    Taller de Jpa
    Документ40 страниц
    Taller de Jpa
    Bërmëõ Äńdrêš
    100% (1)
  • Clase 8 - JPA
    Clase 8 - JPA
    Документ98 страниц
    Clase 8 - JPA
    egarciasips
    Оценок пока нет
  • Creacion de Clase
    Creacion de Clase
    Документ10 страниц
    Creacion de Clase
    Ángel Delfin
    Оценок пока нет
  • JPA2 y MyBatis 3
    JPA2 y MyBatis 3
    Документ14 страниц
    JPA2 y MyBatis 3
    MiguelVar
    Оценок пока нет
  • Java Persistence API (JPA
    Java Persistence API (JPA
    Документ4 страницы
    Java Persistence API (JPA
    ogiusso
    Оценок пока нет
  • Hibernate JP A
    Hibernate JP A
    Документ31 страница
    Hibernate JP A
    hector herrera
    Оценок пока нет
  • Anotaciones en EJB 3
    Anotaciones en EJB 3
    Документ22 страницы
    Anotaciones en EJB 3
    kartoonist360
    Оценок пока нет
  • Resumen JPA
    Resumen JPA
    Документ4 страницы
    Resumen JPA
    mmolinasromero
    Оценок пока нет
  • Guía JPA
    Guía JPA
    Документ28 страниц
    Guía JPA
    david cruz
    Оценок пока нет
  • Java Persistence A Pi JP A
    Java Persistence A Pi JP A
    Документ61 страница
    Java Persistence A Pi JP A
    Ray David Torres Gomez
    Оценок пока нет
  • Mapeo
    Mapeo
    Документ52 страницы
    Mapeo
    Oscar Acosta Gomez
    Оценок пока нет
  • JPA Dal
    JPA Dal
    Документ1 страница
    JPA Dal
    Pablo López
    Оценок пока нет
  • Jpa
    Jpa
    Документ34 страницы
    Jpa
    Abel Peña Palma
    Оценок пока нет
  • Funciones Definidas Por El Usuario
    Funciones Definidas Por El Usuario
    Документ11 страниц
    Funciones Definidas Por El Usuario
    David@001
    Оценок пока нет
  • Persistencia JPA e Hibernate
    Persistencia JPA e Hibernate
    Документ47 страниц
    Persistencia JPA e Hibernate
    Javier Alvarez
    Оценок пока нет
  • Sesion02-Mapeado Entidad-Relación Tablas
    Sesion02-Mapeado Entidad-Relación Tablas
    Документ20 страниц
    Sesion02-Mapeado Entidad-Relación Tablas
    jose puma chavez
    Оценок пока нет
  • 04 Entidades
    04 Entidades
    Документ8 страниц
    04 Entidades
    ENMANUEL FELIPE BENAVIDES CORREA
    Оценок пока нет
  • Resumen Cap 10 Libro 4
    Resumen Cap 10 Libro 4
    Документ12 страниц
    Resumen Cap 10 Libro 4
    TheRealCodicia
    Оценок пока нет
  • Tareas 1
    Tareas 1
    Документ6 страниц
    Tareas 1
    Jose Ramos
    100% (2)
  • Java Persistence API
    Java Persistence API
    Документ57 страниц
    Java Persistence API
    Nathaly Gonzalez
    Оценок пока нет
  • Documentación de Microservicios Estructura Hexagonal.
    Documentación de Microservicios Estructura Hexagonal.
    Документ10 страниц
    Documentación de Microservicios Estructura Hexagonal.
    Daniel González
    Оценок пока нет
  • Consult A
    Consult A
    Документ6 страниц
    Consult A
    slvivas
    Оценок пока нет
  • Resumen API para Final
    Resumen API para Final
    Документ17 страниц
    Resumen API para Final
    Maria Luz Sandobal
    Оценок пока нет
  • Java Persistence API JPA
    Java Persistence API JPA
    Документ25 страниц
    Java Persistence API JPA
    Rene Zometa
    Оценок пока нет
  • Introducción A JPA
    Introducción A JPA
    Документ36 страниц
    Introducción A JPA
    Pablo Elias
    Оценок пока нет
  • JavaServer Pages Standard Tag Library (JSTL)
    JavaServer Pages Standard Tag Library (JSTL)
    Документ39 страниц
    JavaServer Pages Standard Tag Library (JSTL)
    Doomsday73
    Оценок пока нет
  • Crud Java
    Crud Java
    Документ9 страниц
    Crud Java
    Julian Andres Gaviria R
    Оценок пока нет
  • Reto 3
    Reto 3
    Документ19 страниц
    Reto 3
    IVETTE LORENA NAVAS BALDELEON
    Оценок пока нет
  • GUÍA DE PRÁCTICABD - Mysql
    GUÍA DE PRÁCTICABD - Mysql
    Документ8 страниц
    GUÍA DE PRÁCTICABD - Mysql
    J César Y Morales
    Оценок пока нет
  • Programacion Teoria
    Programacion Teoria
    Документ9 страниц
    Programacion Teoria
    Nicki Pastrana
    Оценок пока нет
  • JPQL
    JPQL
    Документ7 страниц
    JPQL
    paula zambrano
    Оценок пока нет
  • Introduccion A JPA
    Introduccion A JPA
    Документ13 страниц
    Introduccion A JPA
    Tigre Rayado
    Оценок пока нет
  • Introducción A Funciones
    Introducción A Funciones
    Документ16 страниц
    Introducción A Funciones
    JUAN PEREZ
    Оценок пока нет
  • Logica
    Logica
    Документ5 страниц
    Logica
    Juan David Rios
    Оценок пока нет
  • Qué Es JSTL
    Qué Es JSTL
    Документ8 страниц
    Qué Es JSTL
    kamasaki_amd
    Оценок пока нет
  • IDA de Cabo A Rabo7.0
    IDA de Cabo A Rabo7.0
    Документ2 страницы
    IDA de Cabo A Rabo7.0
    Well Silva
    Оценок пока нет
  • React Hooks
    React Hooks
    Документ23 страницы
    React Hooks
    dalsgaardjoaquin
    Оценок пока нет
  • AUTOFORMACIÓN
    AUTOFORMACIÓN
    Документ16 страниц
    AUTOFORMACIÓN
    angel dario mora rivera
    Оценок пока нет
  • Java Persistence API
    Java Persistence API
    Документ4 страницы
    Java Persistence API
    Cristian Arevalo Briceño
    Оценок пока нет
  • Tutorial de NHibernate - Primeros Pasos
    Tutorial de NHibernate - Primeros Pasos
    Документ4 страницы
    Tutorial de NHibernate - Primeros Pasos
    dreadmarley
    Оценок пока нет
  • Clases Tag
    Clases Tag
    Документ18 страниц
    Clases Tag
    Luis Alvarez
    Оценок пока нет
  • JPA
    JPA
    Документ21 страница
    JPA
    Oscar Acosta Gomez
    Оценок пока нет
  • Roger Caamal Santiago Unidad6 Fundamentos de Base de Datos-.Isc j4
    Roger Caamal Santiago Unidad6 Fundamentos de Base de Datos-.Isc j4
    Документ31 страница
    Roger Caamal Santiago Unidad6 Fundamentos de Base de Datos-.Isc j4
    Roger Caamal
    Оценок пока нет
  • Unidad 4 - JS 2
    Unidad 4 - JS 2
    Документ26 страниц
    Unidad 4 - JS 2
    Mariano Iturrieta
    Оценок пока нет
  • Nuevo 1
    Nuevo 1
    Документ2 страницы
    Nuevo 1
    alexander3prieto3cha
    Оценок пока нет
  • Codigo 201888 II Examen de Programacion
    Codigo 201888 II Examen de Programacion
    Документ2 страницы
    Codigo 201888 II Examen de Programacion
    Wil Huaycani Tlpv
    Оценок пока нет
  • Resumen JSP
    Resumen JSP
    Документ5 страниц
    Resumen JSP
    José Garcia
    Оценок пока нет
  • Tema2c-JSTL (1) JPA Se Encarga de Mapear Una Clase
    Tema2c-JSTL (1) JPA Se Encarga de Mapear Una Clase
    Документ39 страниц
    Tema2c-JSTL (1) JPA Se Encarga de Mapear Una Clase
    CarlosEdgarCruzMadrid
    Оценок пока нет
  • Que Es Una API
    Que Es Una API
    Документ6 страниц
    Que Es Una API
    hxh
    Оценок пока нет
  • JPA
    JPA
    Документ11 страниц
    JPA
    Diana Maria Valencia
    Оценок пока нет
  • Foro Tematico de Inteligencia de Negocios 2023
    Foro Tematico de Inteligencia de Negocios 2023
    Документ1 страница
    Foro Tematico de Inteligencia de Negocios 2023
    Frank Jair Cruz Lopez
    Оценок пока нет
  • Funciones Algoritmos
    Funciones Algoritmos
    Документ6 страниц
    Funciones Algoritmos
    Chelita de la Vega
    Оценок пока нет
  • Tarea1 Unidad6
    Tarea1 Unidad6
    Документ51 страница
    Tarea1 Unidad6
    Isaac Galaviz
    Оценок пока нет
  • Aprende a Programar con Java
    Aprende a Programar con Java
    От Everand
    Aprende a Programar con Java
    Рейтинг: 3.5 из 5 звезд
    3.5/5 (3)
  • Tema 7
    Tema 7
    Документ35 страниц
    Tema 7
    Eduardo Lesmes
    Оценок пока нет
  • Ejercicio SQL
    Ejercicio SQL
    Документ2 страницы
    Ejercicio SQL
    Julián R
    Оценок пока нет
  • Instituto Tecnologico de Nuevo Leon
    Instituto Tecnologico de Nuevo Leon
    Документ8 страниц
    Instituto Tecnologico de Nuevo Leon
    esagar
    Оценок пока нет
  • S11 - Entity Framework - SQL Server
    S11 - Entity Framework - SQL Server
    Документ24 страницы
    S11 - Entity Framework - SQL Server
    Andres panoca romero
    100% (1)
  • Condicion
    Condicion
    Документ5 страниц
    Condicion
    Mauricio Solis
    Оценок пока нет
  • SQL Lenguaje Estructurado de Consultas
    SQL Lenguaje Estructurado de Consultas
    Документ1 страница
    SQL Lenguaje Estructurado de Consultas
    AZUCENA BELEN QUISPE CHAMBI
    Оценок пока нет
  • Banco de Preguntas
    Banco de Preguntas
    Документ9 страниц
    Banco de Preguntas
    Oscar Rodriguez
    Оценок пока нет
  • Compañia
    Compañia
    Документ4 страницы
    Compañia
    Juán Alejandro Salvatierra Sánchez
    Оценок пока нет
  • Trabajo de Pueba Sustituto 311 Bade de Datos Universidad Nacional Abierta
    Trabajo de Pueba Sustituto 311 Bade de Datos Universidad Nacional Abierta
    Документ6 страниц
    Trabajo de Pueba Sustituto 311 Bade de Datos Universidad Nacional Abierta
    Danielo Agu
    Оценок пока нет
  • Tarea 2 Dba
    Tarea 2 Dba
    Документ4 страницы
    Tarea 2 Dba
    Enmanuel Santos Diaz
    Оценок пока нет
  • Métodos de Ordenamiento Java
    Métodos de Ordenamiento Java
    Документ2 страницы
    Métodos de Ordenamiento Java
    Alexis Madrid
    Оценок пока нет
  • S Tandayamo Valencia Tarea1
    S Tandayamo Valencia Tarea1
    Документ7 страниц
    S Tandayamo Valencia Tarea1
    Francisco Smith
    Оценок пока нет
  • 2 Desa Sincrono 2 Caso Modelamiento
    2 Desa Sincrono 2 Caso Modelamiento
    Документ11 страниц
    2 Desa Sincrono 2 Caso Modelamiento
    Alexander Valverde
    Оценок пока нет
  • Programacion en Tres Capaz C#
    Programacion en Tres Capaz C#
    Документ46 страниц
    Programacion en Tres Capaz C#
    Moises Efrain Camara Mis
    Оценок пока нет
  • Modelo ER Cardinalidad Uno A Uno
    Modelo ER Cardinalidad Uno A Uno
    Документ4 страницы
    Modelo ER Cardinalidad Uno A Uno
    Monica Escobar
    Оценок пока нет
  • Trabajo de Grado PDF
    Trabajo de Grado PDF
    Документ170 страниц
    Trabajo de Grado PDF
    Gi Go
    Оценок пока нет
  • Bases de Datos Notas Curso
    Bases de Datos Notas Curso
    Документ251 страница
    Bases de Datos Notas Curso
    Sara Arrachera
    Оценок пока нет
  • Ensayo Tecnico Bases de Datos
    Ensayo Tecnico Bases de Datos
    Документ8 страниц
    Ensayo Tecnico Bases de Datos
    Maria Jose Avecillas Villavicencio
    Оценок пока нет
  • Final 3año
    Final 3año
    Документ10 страниц
    Final 3año
    Noemi Arias
    Оценок пока нет
  • Actividad 4 Bases de Datos
    Actividad 4 Bases de Datos
    Документ5 страниц
    Actividad 4 Bases de Datos
    Victor Martinez
    Оценок пока нет
  • Control 4 Base de Datos Vanessa Gómez
    Control 4 Base de Datos Vanessa Gómez
    Документ8 страниц
    Control 4 Base de Datos Vanessa Gómez
    Beba Gomez Morales
    Оценок пока нет
  • Administracion de Discos
    Administracion de Discos
    Документ3 страницы
    Administracion de Discos
    Paulo D La Cruz
    Оценок пока нет
  • PL SQL
    PL SQL
    Документ121 страница
    PL SQL
    Acatoy Andres
    Оценок пока нет
  • Copia de pr9 Consultas SQL
    Copia de pr9 Consultas SQL
    Документ20 страниц
    Copia de pr9 Consultas SQL
    Jesús Méndez García
    Оценок пока нет
  • Diccionario de Datos
    Diccionario de Datos
    Документ12 страниц
    Diccionario de Datos
    Gabino hernandez rosales
    Оценок пока нет
  • GTB Disparadores
    GTB Disparadores
    Документ4 страницы
    GTB Disparadores
    neftali suarez
    Оценок пока нет
  • SQL Server
    SQL Server
    Документ7 страниц
    SQL Server
    smith anton
    100% (1)
  • Diagrama de La Arquitectura de Un SMulBD.
    Diagrama de La Arquitectura de Un SMulBD.
    Документ5 страниц
    Diagrama de La Arquitectura de Un SMulBD.
    Alan J Mast Sant
    Оценок пока нет
  • Comandos de Activación
    Comandos de Activación
    Документ9 страниц
    Comandos de Activación
    DEPTO. DE SISTEMAS Y COMPUTACIÓN
    Оценок пока нет
  • Adobe Scan 15 Jul. 2022
    Adobe Scan 15 Jul. 2022
    Документ5 страниц
    Adobe Scan 15 Jul. 2022
    adriana cordero
    Оценок пока нет