glassfish

Evolución del EL (expression language)

En un artículo en stackoverflow, Bauke Scholtz describe de una manera muy clara la evolución EL (expression language). En este post voy a traducirlo ya que me ha parecido muy interesante. Jun 2002: JSTL 1.0 se presentó con EL por primera vez. Eran esas cosas ${} que funcionaban solo en las etiquetas JSTL. Estaban diseñadas para llamar a los […]

Read More »
hibernate

Hibernate y su empleo de Javassist

Hibernate emplea las librerías Javassist (Java Programming Assistant) para realizar tareas de reflexión java (java reflection), por ejemplo, para construir objetos definidos como lazy que se obtienen posteriormente a la ejecución de una consulta. Las clases construidas, aunque respetan el interfaz de la clase original, tienen diferente nombre de clase, formando parte del nombre la […]

Read More »
Eclipse Servers

Conversión de cadenas vacías en tipos no primitivos

Hace poco actualizando Eclipse me encontraba con el problema de que a pesar de que las aplicaciones se desplegaban en el servidor correctamente (Tomcat en este caso), los formularios de las vistas no funcionaban como se esperaba. En concreto, había campos de formulario vacíos que se convertían en valores reales (no nulos) al trasladarse al […]

Read More »

IllegalArgumentException occurred calling getter (Hibernate)

En un proyecto que hacía uso de hibernate se producía la excepción org.hibernate.PropertyAccessException: IllegalArgumentException al intentar recoger una colección de base de datos. Para mí no fue muy intuitiva la descripción de la excepción y por ello publico que en mi proyecto estaba causada por tener una condición (Criteria) erronea, concretamente comparaba un objeto de […]

Read More »

Error de paginación con Hibernate + Criteria.DISTINCT_ROOT_ENTITY

Hibernate tiene en la clase org.hibernate.Criteria un par de métodos (setFirstResult y setMaxResults) que nos permiten realizar una paginación de los resultados a nivel de query SQL, es decir, solo obtiene de base de datos el número de resultados solicitados de manera que, en las paginaciones, no sobrecarga la base de datos solicitando datos que […]

Read More »