Bonjour,
voila j'ai suivi ce lien pour faire de l'heritage sur mes fichiers hbm. Dans la classe de base, j'ai une un discriminant distinguant les types. J'ai une classe qui permet de faire des requetes dessus...dont findAll, le seul hic, c'est que je souhaite retourner juste les objets ayant le discriminant a PERMIT. Comment faire en utilisant cette methode:
je voudrai rajouter une condition, un WHERE, qui dit aue je veux juste les objets avec discriminant PERMIT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static java.util.List<XacmlPolicy> findAll() { org.hibernate.Session session = mpower_hibernate.HibernateUtil.currentSession(); org.hibernate.Query query = session.createSQLQuery( "from XacmlPolicy"); return (java.util.List<XacmlPolicy>) query.list(); }
Voici mon hbm:
Merci de votre soutien,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <hibernate-mapping> <class name="mpower_hibernate.XacmlPolicy" table="XacmlPolicies" discriminator-value="PERMIT"> <id column="POLICY_ID" name="id"> <generator class="increment"/> </id> <discriminator column="POLICY_TYPE" type="string"/> <property column="POLICY_NAME" name="name"/> <property column="POLICY" name="policy" type="blob"/> <subclass name="mpower_hibernate.XacmlPendingPolicy" discriminator-value="PENDING"> <join table="XacmlPendingPolicies"> <key column="POLICY_ID"/> <many-to-one class="mpower_hibernate.User" column="USER_ID" name="user"/> </join> </subclass> </class> </hibernate-mapping>
Babas007
Voici le code reponse:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public static java.util.List<XacmlPolicy> findAvailables() { org.hibernate.Session session = mpower_hibernate.HibernateUtil.currentSession(); org.hibernate.Query query = session.createQuery( "from XacmlPolicy po " + "WHERE po.class = XacmlPolicy"); return (java.util.List<XacmlPolicy>) query.list(); }
Partager