Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
public abstract class AbstractDomain implements java.io.Serializable {
 
    protected Boolean deleted;
 
    public Boolean getDeleted() {
        return deleted;
    }
 
    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }
 
}
//////////////////////////// PROJET 1
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
18
19
20
21
22
23
24
 
Class PerssonePhysique  extends AbstractDomain    implements java.io.Serializable{
 
    private Long id;
    private String nom;
 
}
 
<hibernate-mapping default-cascade="none">
    <class name="PersonnePhysique" table="PER_PERSONNE_PHYSIQUE" dynamic-insert="false" dynamic-update="false">
        <id name="id" type="java.lang.Long" unsaved-value="null">
            <column name="PERSONNE_PHYSIQUE_ID"  />
            <generator class="native">
          <param name="sequence">SQ_PERSONNE_PHYSIQUE</param>
            </generator>
        </id>
 
        <filter name="actifFilter" condition="is_deleted=0" />
 
    </class>
 
        <filter-def name="actifFilter"></filter-def>
    </class>
</hibernate-mapping>

////////////////////////// PROJET 2

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Class SituationAdm  extends AbstractDomain    implements java.io.Serializable{
 
    private Long id;
    private Long personneId  ;    
       private PersonnePhysique personneIdPP;
 
}
 
 
 
 
<hibernate-mapping default-cascade="none">
    <class name="SituationAdm" table="SITUATION_ADM" dynamic-insert="false" dynamic-update="false">
        <id name="id" type="java.lang.Long" unsaved-value="null">
            <column name="SITUATION_ADM_ID"  />
            <generator class="native">
          <param name="sequence">SQ_SITUATION_ADM</param>
            </generator>
        </id>
 
 
        <many-to-one name="personneIdPP" class="PersonnePhysique" insert="false" update="false" foreign-key="personneId7733_P"   lazy="proxy" fetch="select">
         <column name="PERSONNE_ID"   />
    </many-to-one>
 
 
    <property name="personneId"    index="personneId7733_I"        type="java.lang.Long">
                <column name="PERSONNE_ID" not-null="true"     />
        </property>
 
 
 
        <filter name="actifFilter" condition="is_deleted=0" />
 
      </class>
 
        <filter-def name="actifFilter"></filter-def>
 
</hibernate-mapping>


/////////////////////////////////// SERVICE


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Session session = getSession();
session.enableFilter(ACTIF_FILTER);
 
 
 
String hqlQuery = "SELECT pp, sadm FROM SituationAdm sadm LEFT JOIN sadm.personneIdPP sadm ";
 
Query query = session.createQuery(hqlQuery);
 
query.list();
////// Resultat SQL :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select * from  situation_adm sadm 
 
               left join  per_personne_physique pp  on pp.PERSONNE_PHYSIQUE_ID = sadm.PERSONNE_ID 
 
               where sam.is_deleted = 0 ;
// le filtre s'applique juste sur l'objet SituationAdm ???????????!!!!!!!!!!!!!!