Archive | JPA RSS feed for this section

jpalazyfechingProxiesSQL

JPA Lazy fetching proxies y rendimiento

El concepto de JPA Lazy Fetching siempre cuesta un poco entenderlo y es uno de los conceptos fundamentales de Java Persistence API .¿Cómo funciona exactamente? Vamos a explicarlo a detalle.  Lo primero que tenemos que entender es que cuando trabajamos con JPA , definimos un modelo de dominio que relaciona las diferentes clases entre ellas. […]

jpaDTOGrafo

JPA DTO (Data Transfer Object) y JPQL

El uso de JPA DTO es algo bastante común cuando trabajamos con JPA. Recordemos que habitualmente cuando realizamos una consulta con Java Persistence API el resultado es un grafo de objetos. En muchos casos esto nos es suficiente , pero hay algunas ocaciones en las que nos puede ser mucho más útil devolver un DTO […]

jpaCriteriaParametros

JPA Criteria API , un enfoque diferente

El uso de JPA Criteria nos aporta muchas ventajas en cuanto a la construcción de SQL Dinámico utilizando JPA . Ahora bien su su sintaxis y su forma de trabajar son bastante diferentes a la forma clásica. Vamos a apoyarnos en el ejemplo anterior de JPA SQL Injection para construir el mismo ejemplo utilizando JPA Criteria […]

jpaSQLInjectioninfectado

JPA SQL Injection y sus problemas

JPA SQL Injection es un problema del que muchos desarrolladores se olvidan ,ya que consideran que JPA esta totalmente protegido contra inyeccion de SQL. ¿Es esto cierto o podemos vernos afectados?. La realidad es que no estamos totalmente protegidos . Depende mucho de como se haya construido el código . Vamos a ver un ejemplo sencillo […]

jpagenerateschemadiagram

JPA Database Schema y automatización

El uso de un JPA Database schema es bastante habitual . Cuando trabajamos con JPA nos podemos encontrar con dos opciones principales. La primera que el schema de base de datos ya exista y que nosotros únicamente tengamos que adaptarnos a él. En segundo lugar una situación en la que no existe schema de base […]

JPALinQOk

Java LinQ con JinQ y Java Persistence API

Usar Java LinQ  nos puede parecer extraño ya que es una tecnología que nace con .NET framework . .NET  nos permite usar programación funcional con los frameworks y soluciones de persistencia realizando una validación de las consultas en tiempo de compilación. ¿Existe alguna solución similar en Java? . La respuesta a esta pregunta es peculiar. Java […]

JPACompositeKey

JPA Composite Key y business objects

El uso de JPA composite key es muy común cuando trabajamos con JPA , pronto aparecerán tablas en el modelo de datos que necesitan crear este tipo de claves. Vamos a construir un ejemplo  de como crear una clave compuesta utilizando JPA. Para ello vamos a partir del concepto de Curso que contiene los siguientes campos: […]

jpaproxyreducido

JPA Proxy y su funcionamiento

El concepto de JPA Proxy es a veces difícil de entender para la gente que comienza a trabajar con JPA. ¿Cómo funciona un JPA Proxy? .Vamos a apoyarnos en el ejemplo del artículo anterior y hacer una pequeña modificación . Recordemos que partimos de dos clases Experto e Imparticion relacionadas a través de una relación oneToMany. […]

withoutentitygraphs

Un ejemplo de JPA Entity Graph

Mucha gente desconoce el concepto de JPA Entity Graph , y como nos pueden ayudar a mejorar el rendimiento de las consultas de JPA que creamos. Para entender como funcionan hay que recordar algunas cosas de JPA. En primer lugar que todas las consultas que realizamos oneToMany son lazy feching , es decir los datos […]

SpringData

Introducción a Spring Data y JPA

Spring Data es uno de los frameworks que se encuentra dentro de la plataforma de Spring.  Su objetivo es simplificar al desarrollador la persistencia de datos contra distintos repositorios de información . Vamos a ver una introducción a este framework y como ayuda a  simplificar nuestro trabajo. Nos apoyaremos en JPA para ello. Spring Data y […]

JPASingleTableInheritance

JPA Single Table Inheritance

Vamos a construir un ejemplo de JPA Single Table inheritance. La herencia es una de las características que menos se comprende cuando hablamos de frameworks de persistencia. En este caso vamos a ver la casuística más sencilla, una jerarquía de clases que se almacenan  en una única Tabla. JPA Single Table Inheritance implementación Vamos a […]

JPAEmbeddedRelacion

Un ejemplo de JPA embedded objects

¿Qué es JPA embedded objects? . Una de las características fundamentales de los modelos de dominio es que no tienen la misma estructura que los modelos E-R de las bases de datos y permiten crear nuevos tipos de entidades y mapearlas de formas muy diversas. Vamos a construir un ejemplo sencillo de como usar las […]