//////////////////////////// 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 public abstract class AbstractDomain implements java.io.Serializable { protected Boolean deleted; public Boolean getDeleted() { return deleted; } public void setDeleted(Boolean deleted) { this.deleted = deleted; } }
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
////// Resultat SQL :
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();
// le filtre s'applique juste sur l'objet SituationAdm ???????????!!!!!!!!!!!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5select * from situation_adm sadm left join per_personne_physique pp on pp.PERSONNE_PHYSIQUE_ID = sadm.PERSONNE_ID where sam.is_deleted = 0 ;
Partager