2010-08-22 3 views
2

J'ai trouvé des informations contradictoires sur le net. Est-ce que quelqu'un sait si les filtres Hibernate affectent le sql généré, ou est-ce juste en filtrant les données quand elles sont lues dans la base de données?Les filtres Hibernate sont-ils appliqués uniquement après que les données ont été chargées à partir de DB?

+0

Rappelez-vous que les filtres ne seront appliqués lors de l'utilisation de l'interface TypedQuery, donc 'em.find (entityClass, primaryKey)' auront pas le filtre appliqué – Greg

Répondre

4

Les filtres Hibernate affectent la clause where du code SQL généré.

Le Introduction to Hibernate Filters est un bel article sur les filtres et fournit une application de démonstration permettant de jouer avec eux.

2

Si vous activez SQL dans Hibernate en utilisant show_sql"(+"format_sql"), et exécutez la requête avec le filtre activé, vous verrez le résultat.

Par exemple:

select 
    item0_.ID as ID0_  
from 
    ITEMS item0_ 
where 
    item0_.deleted = 'FALSE' <-- here is filtering 
Questions connexes