Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como faço para curar a causa da exceção de hibernação que IllegalArgumentException ocorreu ao chamar setter?


Acontece que essa exceção é devido a um bug no Hibernate. Um dos meus colegas de equipe encontrou um relatório de bug relacionado, Remontagem da entidade do JBoss Cache clusterizado pode falhar com "incompatibilidade de tipo de argumento" , que ocorre ao usar Hibernate e JBoss Cache.

De acordo com o relatório, definir a propriedade do Hibernate hibernate.cache.use_structured_entries para verdadeiro evita a exceção. De acordo com a documentação do Hibernate, esta propriedade "força o Hibernate a armazenar dados no cache de segundo nível em um formato mais amigável". Aparentemente, as entradas de cache estruturadas também garantem que o Hibernate mapeie corretamente as propriedades de um objeto no cache de segundo nível para a propriedade correspondente em uma entidade.

Javalobby tem um artigo interessante que explica como o Hibernate usa o cache de segundo nível.

As versões do Hibernate após o 3.3.2GA também exibem esse comportamento?