La Force de requête d'Hibernate pour accéder à la base de données

J'ai chargé d'une entité dans ma transaction et que vous avez changé une propriété de l'entité. La transaction n'est pas encore engagée. Maintenant, je voudrais obtenir la valeur d'origine de la propriété modifiée.

J'ai essayé avec une requête HQL comme select p.property from Person p where p.id = 1 avec l'ID de l'entité chargée de la transaction.

J'ai mis query.setHint("org.hibernate.cacheMode", CacheMode.IGNORE); avant l'exécution de la requête. Mais pas de succès. Hibernate renvoie la valeur définie dans la transaction en cours, et non pas celui de la base de données.

Est-il un moyen de contourner cela?

Ne pas vous retrouver avec le problème où Hibernate se plaint de la même entité dans la session deux fois? Semble que vous pourriez voulez revoir la mise en œuvre peut-être.

OriginalL'auteur tobiasbayer | 2010-09-13