Oracle
 sql >> Database >  >> RDS >> Oracle

Come posso curare la causa dell'eccezione di ibernazione che si è verificata IllegalArgumentException durante la chiamata a setter?

Si scopre che questa eccezione è dovuta a un bug in Hibernate. Uno dei miei compagni di squadra ha trovato una segnalazione di bug correlata, Il riassemblaggio dell'entità dalla cache JBoss in cluster potrebbe non riuscire con "tipo di argomento non corrispondente" , che si verifica quando si utilizza Hibernate e JBoss Cache.

Secondo il rapporto, l'impostazione della proprietà Hibernate hibernate.cache.use_structured_entries a vero evita l'eccezione. Secondo la documentazione di Hibernate, questa proprietà "forza Hibernate a memorizzare i dati nella cache di secondo livello in un formato più adatto all'uomo". Apparentemente, le voci della cache strutturata assicurano anche che Hibernate mappi correttamente le proprietà di un oggetto nella cache di secondo livello alla proprietà corrispondente in un'entità.

Javalobby ha un articolo interessante che spiega come Hibernate usa la cache di secondo livello.

Anche le versioni di Hibernate successive alla 3.3.2GA mostrano questo comportamento?