sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo soluciono la causa de la excepción IllegalArgumentException de Hibernate al llamar al setter?

Resulta que esta excepción se debe a un error en Hibernate. Uno de mis compañeros de equipo encontró un informe de error relacionado, Reensamblar la entidad de JBoss Cache en clúster puede fallar con "discordancia de tipo de argumento" , que ocurre cuando se usa Hibernate y JBoss Cache.

Según el informe, establecer la propiedad de Hibernate hibernate.cache.use_structured_entries a verdadero evita la excepción. Según la documentación de Hibernate, esta propiedad "obliga a Hibernate a almacenar datos en el caché de segundo nivel en un formato más amigable para los humanos". Aparentemente, las entradas de caché estructuradas también aseguran que Hibernate mapee correctamente las propiedades de un objeto en el caché de segundo nivel a la propiedad correspondiente en una entidad.

Javalobby tiene un artículo interesante que explica cómo Hibernate usa el caché de segundo nivel.

¿Las versiones de Hibernate posteriores a la 3.3.2GA también exhiben este comportamiento?