IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Redondance de données


Sujet :

Hibernate Java

  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut Redondance de données
    Bonjour,
    J'ai une requête HQL, faisant charger la liste des affaires affectées à un commercial ou un groupe de commerciaux dans un commercial donné y appartient.
    J'ai donc 3 tables : Personne, Groupe, Affaire
    Groupe = ensemble de personnes
    Affaire = peut être affectée à un commercial ou un groupe de commerciaux
    Commercail = personne
    Je veux avoir la liste des affaires affectées à un commercial et aux groupes aux quels il appartient.
    La suivante requête fait se que je veux, mais elle m'apporte chaque ligne 4 fois.
    Cela me pousse à croire qu'une (ou plusieurs) jointure(s) manquante(s).
    Pouvez vous me donner vos avis, ainsi que vos propres idées ? Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select a from AvAffaire a, AvDemande d 
    where  d.Id = a.Demande and d.Statu = 'statut' 
    and a.Commercial = 1 or a.Groupe in 
    (
       select g from AvGroup g, AvPersonne p 
       where g in elements(p.AvGroups) and p.Id = 1
    )

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Peux-tu montrer le mapping des 3 entités ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut
    Personne
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    	"-//Hibernate/Hibernate Mapping DTD//EN"
    	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
     
    <hibernate-mapping package="com.av.model">
    	<class
    		name="AvPersonne"
    		table="av_personne"
    	>
    		<meta attribute="sync-DAO">false</meta>
    		<id
    			name="Id"
    			type="java.lang.Long"
    			column="id"
    		>
    			<generator class="sequence"/>
    		</id>
    		<property
    			name="Nci"
    			column="nci"
    			type="java.lang.Long"
    			not-null="true"
    			length="10"
    		/>
    		<property
    			name="Nom"
    			column="nom"
    			type="string"
    			not-null="true"
    			length="32"
    		/>
    		<property
    			name="Prenom"
    			column="prenom"
    			type="string"
    			not-null="true"
    			length="32"
    		/>
    		<property
    			name="Typepersonne"
    			column="typepersonne"
    			type="string"
    			not-null="false"
    			length="32"
    		/>
    		<property
    			name="Datenaissance"
    			column="datenaissance"
    			type="date"
    			not-null="false"
    			length="13"
    		/>
    		<property
    			name="Adresse"
    			column="adresse"
    			type="string"
    			not-null="false"
    			length="128"
    		/>
    		<property
    			name="Email"
    			column="email"
    			type="string"
    			not-null="false"
    			length="256"
    		/>
    		<property
    			name="Numtel"
    			column="numtel"
    			type="string"
    			not-null="false"
    			length="32"
    		/>
    		<property
    			name="Loginpersonne"
    			column="loginpersonne"
    			type="string"
    			not-null="true"
    			length="32"
    		/>
    		<property
    			name="Passwordpersonne"
    			column="passwordpersonne"
    			type="string"
    			not-null="true"
    			length="32"
    		/>
    		<many-to-one
    			name="Client"
    			column="client"
    			class="AvClient"
    			not-null="false"
    			lazy="false"
    		>
    		</many-to-one>
    		<set name="AvAffairesByResponsable" inverse="true" lazy="false">
    			<key column="id"/>
    			<one-to-many class="AvAffaire"/>
    		</set>
    		<set name="AvAffairesByCommercial" inverse="true" lazy="false">
    			<key column="id"/>
    			<one-to-many class="AvAffaire"/>
    		</set>
    		<set name="AvDemandes" inverse="true" lazy="false">
    			<key column="id"/>
    			<one-to-many class="AvDemande"/>
    		</set>
    		<set
    			name="AvGroups"
    			table="av_composition"
    			cascade="all"
    			inverse="true"
    			lazy="false"
    		>
    			<key column="personne"/>
    			<many-to-many column="groupe" class="AvGroup"/>
    		</set>
    	</class>	
    </hibernate-mapping>
    Group
    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
    40
    41
    42
    43
    44
    45
    46
    47
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    	"-//Hibernate/Hibernate Mapping DTD//EN"
    	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
     
    <hibernate-mapping package="com.av.model">
    	<class
    		name="AvGroup"
    		table="av_group"
    	>
    		<meta attribute="sync-DAO">false</meta>
    		<id
    			name="Id"
    			type="java.lang.Long"
    			column="id"
    		>
    			<generator class="sequence"/>
    		</id>
     
    		<property
    			name="Descriptiongroup"
    			column="descriptiongroup"
    			type="string"
    			not-null="false"
    			length="128"
    		/>
     
     
    		<set name="AvAffaires" inverse="true" lazy="false">
    			<key column="id"/>
    			<one-to-many class="AvAffaire"/>
    		</set>
     
    		<set
    			name="AvPersonnes"
    			table="av_composition"
    			cascade="all"
    			inverse="false"
    			lazy="false"
    		>
    			<key column="groupe"/>
    			<many-to-many column="personne" class="AvPersonne"/>
    		</set>
     
     
    	</class>	
    </hibernate-mapping>
    Affaire
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    	"-//Hibernate/Hibernate Mapping DTD//EN"
    	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
     
    <hibernate-mapping package="com.av.model">
    	<class
    		name="AvAffaire"
    		table="av_affaire"
    	>
    		<meta attribute="sync-DAO">false</meta>
    		<id
    			name="Id"
    			type="java.lang.Long"
    			column="id"
    		>
    			<generator class="sequence"/>
    		</id>
     
    		<property
    			name="Remarqueresponsable"
    			column="remarqueresponsable"
    			type="string"
    			not-null="false"
    			length="512"
    		/>
    		<property
    			name="datedebuttache"
    			column="datedebuttache"
    			type="date"
    			not-null="false"
    			length="13"
    		/>
    		<property
    			name="datefintache"
    			column="datefintache"
    			type="date"
    			not-null="false"
    			length="13"
    		/>
    		<property
    			name="Dureeetude"
    			column="dureeetude"
    			type="java.lang.Long"
    			not-null="false"
    			length="10"
    		/>
    		<property
    			name="Budget"
    			column="budget"
    			type="java.lang.Long"
    			not-null="false"
    			length="10"
    		/>
    		<property
    			name="Montant"
    			column="montant"
    			type="java.lang.Long"
    			not-null="false"
    			length="10"
    		/>
    		<property
    			name="dateremise"
    			column="dateremise"
    			type="date"
    			not-null="false"
    			length="13"
    		/>
    		<property
    			name="Dateheuretransformation"
    			column="dateheuretransformation"
    			type="timestamp"
    			not-null="false"
    			length="29"
    		/>
    		<property
    			name="Typeaffectation"
    			column="typeaffectation"
    			type="string"
    			not-null="true"
    			length="16"
    		/>
    		<many-to-one
    			name="Responsable"
    			column="responsable"
    			class="AvPersonne"
    			not-null="true"
    			lazy="false"
    		>
    		</many-to-one>
    		<many-to-one
    			name="Commercial"
    			column="commercial"
    			class="AvPersonne"
    			not-null="false"
    			lazy="false"
    		>
    		</many-to-one>
    		<many-to-one
    			name="Groupe"
    			column="groupe"
    			class="AvGroup"
    			not-null="false"
    			lazy="false"
    		>
    		</many-to-one>
    		<many-to-one
    			name="Demande"
    			column="demande"
    			class="AvDemande"
    			not-null="true"
    			lazy="false"
    		>
    		</many-to-one>
     
    	</class>	
    </hibernate-mapping>

  4. #4
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut Aucune réponse !!!
    Une réponse SVP

Discussions similaires

  1. Problème de redondances des données dans BO
    Par djams9 dans le forum Designer
    Réponses: 5
    Dernier message: 16/01/2013, 10h29
  2. [DF] Dépendance fonctionnele et redondance de donnée
    Par oneagaindoguys dans le forum Schéma
    Réponses: 9
    Dernier message: 03/03/2012, 12h35
  3. [MLD] Redondance de données dans un MCD
    Par palmier dans le forum Schéma
    Réponses: 3
    Dernier message: 04/11/2010, 23h14
  4. redondance listbox avec base de donnée
    Par clem44nantes dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/06/2009, 09h37
  5. Problème listage redondant de données
    Par ducrocq62 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/03/2007, 04h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo