Oracle
 sql >> Base de données >  >> RDS >> Oracle

Désactiver la mise à jour automatique Hibernate lors du vidage sur les synonymes en lecture seule

Très probablement, vos entités deviennent "sales" au moment même où elles sont chargées à partir de la base de données, et Hibernate pense qu'il doit stocker les modifications. Cela se produit si vos accesseurs (méthodes get et set) ne renvoient pas exactement la même valeur ou référence qui avait été défini par Hibernate.

Dans notre code, cela s'est produit avec les listes, les développeurs ont créé de nouvelles instances de liste parce qu'ils n'aimaient pas le type qu'ils avaient obtenu dans le setter.

Si vous ne souhaitez pas modifier le code, modifiez le mappage sur l'accès au champ.

Vous pouvez également empêcher Hibernate de stocker les modifications en définissant FlushMode sur jamais sur la session, mais cela ne fait que masquer le vrai problème qui se produira encore dans d'autres situations et conduira à des mises à jour inutiles.