jpalazyfechingProxiesSQL

JPA Lazy feching proxies y rendimiento

El concepto de JPA Lazy Feching 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 […]

javastreampeekfuncionamiento

Java Stream peek funcionamiento y logging

A veces usar Java Stream peek , es clave para entender cual es el funcionamiento de un flujo de Stream a nivel de Java 8 . Recordemos que los Streams nos permiten realizar operaciones complejas sobre un conjunto de datos . En ocasiones si el flujo de operaciones es elaborado cuesta entender realmente lo  que […]

javahashcodelista

Java override HashCode y curiosidades

El concepto de  Java override hashcode  es una de las preguntas clásicas de los exámenes de certificación de Java Programmer. ¿Cómo funcionan los hashcodes y para que sirven?. Los Java HashCode se encargan de generar un hash para cada uno de nuestros objetos. Vamos a ver un ejemplo sencillo: En este caso hemos generado los […]

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 […]

java8FactoryPatternLambda

Java 8 Factory Pattern y su implementación

El concepto de Java 8 Factory Pattern es cada día más utilizado ya que nos permite simplificar la implementación del clásico patrón factoría utilizando Java 8 y reduciendo el número de clases. Vamos a ver como implementarlo, para ello partiremos de un ejemplo clásico de gestión de Facturas y calculo de IVAs y lo evolucionaremos […]

javascriptdeferredresolve

JavaScript Deferred Objects y peticiones asíncronas

El concepto de JavaScript Deferred Objects siempre es difícil de entender en un primer momento. Sin embargo es algo que tenemos que conocer ya que sino nuestro código será mucho menos reutilizable. Vamos a explicar este concepto tan interesante a través de un grupo de ejemplos. Peticiones Ajax Supongamos que tenemos dos urls en nuestro […]

javastreamforeachoverload

Java Stream forEach y colecciones

El uso de Java Stream forEach poco a poco se va haciendo hueco entre los desarrolladores que utilizan programación funcional. El problema fundamentalmente que existe con el método forEach es que estamos muy acostumbrados a usar un bucle clásico forEach y nos funciona bastante bien .Así que da un poco de pereza cambiarlo . ¿ […]

HttpSessionInvalidateRedirect

HttpSession invalidate y sus problemas

Los problemas con HttpSession invalidate son muy comunes cuando trabajamos con Java web. Todo el mundo se maneja con el concepto de session , pero siempre quedan algunas dudas a la hora de manejarlo a detalle. Una de las situaciones problemáticas más habituales es que hacer cuando una session caduca. Vamos a crear un ejemplo […]

TomcatContextXML

Tomcat context xml y su configuración

El uso de Tomcat context xml como fichero para configurar funcionalidad de servidor es muy habitual.  Normalmente  la configuración de una aplicación web se realiza a través el web.xml . Pero hay algunas partes de la configuración que están más ligadas a las tareas de administración y no usan el web.xml ya que este es neutro y no […]

settimeoutvsintervalsegundos

JavaScript setTimeout vs setInterval

El uso de JavaScript setTimeout es muy habitual en la programación del día a día con JavaScript. Sin embargo muchas veces no se entiende bien como funciona . Vamos a explicar tanto el concepto de JavaScript setTimeout como el de setInterval que es el método complementario y ver su funcionamiento. JavaScript setTimeout y curiosidades La […]