Bonjour Werner ,

I effectively thought it was due to this, so I took it off.
But the same thing seems to occur.

Here's the mapping file:

  <class name="fr.cnam.scapin.metier.donnees.agents.profils.Profil"
key-generator="MAX" identity="idProfil">
    <map-to table="SCA_PROFIL" />
    <field name="idProfil" type="integer" required="true">
      <sql type="integer" name="PRO_ID" />
      <bind-xml name="idProfil" />
    </field>
    <field name="organisme" type="string">
      <sql type="char" name="PRO_ORGANISME" />
      <bind-xml name="organisme" />
    </field>
    <field name="mnemonique" type="string">
      <sql type="char" name="PRO_NOM_PROFIL" />
      <bind-xml name="mnemonique" />
    </field>
    <field name="numVersion" type="integer">
      <sql type="integer" name="PRO_NUM_VERSION" />
      <bind-xml name="numVersion" />
    </field>
    <field name="resume" type="string">
      <sql type="char" name="PRO_RESUME" />
      <bind-xml name="resume" />
    </field>
    <field name="description" type="string">
      <sql type="char" name="PRO_DESCRIPTION" />
      <bind-xml name="description" />
    </field>
    <field name="organismePere" type="string">
      <sql type="char" name="PRO_ORGANISME_PERE" />
      <bind-xml name="organismePere" />
    </field>
    <field name="nomProfilPere" type="string">
      <sql type="char" name="PRO_NOM_PROFIL_PERE" />
      <bind-xml name="nomProfilPere" />
    </field>
    <field name="listeHabilitation" collection="collection"
type="fr.cnam.scapin.metier.donnees.agents.profils.Habilitation">
      <sql many-key="PRO_ID" />
      <bind-xml name="listeHabilitation" />
    </field>
  </class>
  <class name="fr.cnam.scapin.metier.donnees.agents.profils.Habilitation"
depends="fr.cnam.scapin.metier.donnees.agents.profils.Profil"
key-generator="MAX" identity="idHabilitation">
    <map-to table="SCA_PROF_HABILITATION" />
    <field name="idHabilitation" type="integer" required="true">
      <sql type="integer" name="HAB_ID" />
      <bind-xml name="idHabilitation" />
    </field>
    <field name="profil"
type="fr.cnam.scapin.metier.donnees.agents.profils.Profil">
      <sql name="PRO_ID" />
      <bind-xml name="profil" />
    </field>
    <field name="action" type="string">
      <sql type="char" name="HAB_ACTION" />
      <bind-xml name="action" />
    </field>
    <field name="droitAssocie" type="string">
      <sql type="char" name="HAB_DROIT" />
      <bind-xml name="droitAssocie" />
    </field>
  </class>

Sylvie.
___________________
CREDI RA
Sylvie Palluel

[EMAIL PROTECTED]
___________________


> -----Message d'origine-----
> De�: Werner Guttmann [mailto:[EMAIL PROTECTED]
> Envoy�: mercredi 1 juin 2005 09:11
> ��: [email protected]
> Objet�: RE: [castor-dev] Wich SQL is executing while accessing to a
> collection
> 
> Bon jour Sylvie,
> 
> could it be that the field habilitations is defined as lazy ?
> 
> Werner
> 
> wg> -----Original Message-----
> wg> From: SYLVIE PALLUEL [mailto:[EMAIL PROTECTED]
> wg> Sent: Wednesday, June 01, 2005 9:08 AM
> wg> To: [email protected]
> wg> Cc: [email protected]
> wg> Subject: [castor-dev] Wich SQL is executing while accessing to a
> wg> collection
> wg>
> wg>
> wg> Hi,
> wg>
> wg> Hi,
> wg>
> wg> I have two classes: the first one is Profil which has a
> wg> collection of
> wg> Habilitation (may be 500 elements).
> wg>
> wg> When I want to get , by a jdo query, a Profil and all his
> wg> Habilitation(s),
> wg> I've seen in MySql log that there are 1 SQL query to get
> wg> Profil, and 500 SQL
> wg> queries (The criteria is on idHabilitation ) to get the 500
> wg> habilitations
> wg> ...
> wg>
> wg> Is there something wrong in my classes?
> wg> Is there a way to get all the habilitations with only one
> wg> SQL query (The
> wg> criteria should be on idProfil) like this :
> wg>
> wg> SELECT * FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.idProfil =
> wg> SCA_PROFIL.idProfil;
> wg>
> wg> Here are the classes Pofil, and Habilitation.
> wg>
> wg> Thanks for your help.
> wg>
> wg>
> wg>
> wg>  * @table SCA_PROFIL
> wg>  * @key-generator MAX
> wg>  */
> wg> public class Profil {
> wg>
> wg>   /**
> wg>    * Identifiant unique du Profil
> wg>    * @required
> wg>    * @not-null
> wg>    * @sql-type integer
> wg>    * @sql-size 10
> wg>    * @primary-key
> wg>    * @sql-name PRO_ID
> wg>   */
> wg>   private int idProfil;
> wg>
> wg>   // les attributs sont en fait la cl� primaire du profil
> wg>   /**
> wg>    * numero venant de la carte agent sur 14 caracteres
> wg>    * @sql-type char
> wg>    * @sql-size 14
> wg>    * @sql-name PRO_ORGANISME
> wg>           */
> wg>   private String organisme;
> wg>
> wg>   /**
> wg>    * @sql-type char
> wg>    * @sql-size 26
> wg>    * @sql-name PRO_NOM_PROFIL
> wg>   */
> wg>   private String mnemonique;
> wg>
> wg>   /**
> wg>    * @sql-type integer
> wg>    * @sql-name PRO_NUM_VERSION
> wg>   */
> wg>   private int numVersion;
> wg>
> wg>   /**
> wg>    * @sql-type char
> wg>    * @sql-size 80
> wg>    * @sql-name PRO_RESUME
> wg>   */
> wg>   private String resume;
> wg>
> wg>   /**
> wg>    * @sql-type char
> wg>    * @sql-size 250
> wg>    * @sql-name PRO_DESCRIPTION
> wg>   */
> wg>   private String description;
> wg>
> wg>   // Acces au profilPere ind�pendament de la version
> wg>   /**
> wg>    * @sql-type char
> wg>    * @sql-size 14
> wg>    * @sql-name PRO_ORGANISME_PERE
> wg>   */
> wg>   private String organismePere;
> wg>
> wg>   /**
> wg>    * @sql-type char
> wg>    * @sql-size 26
> wg>    * @sql-name PRO_NOM_PROFIL_PERE
> wg>   */
> wg>   private String nomProfilPere;
> wg>
> wg>   /**
> wg>    * Collection regroupant les r�f�rences aux
> wg> habilitations rattach�es
> wg> � ce profil
> wg>    * @field-type
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg>    * @many-key PRO_ID
> wg>    */
> wg>   private java.util.Collection listeHabilitation;
> wg>
> wg>
> wg>
> wg>  * @table SCA_PROF_HABILITATION
> wg>  * @depends fr.cnam.scapin.metier.donnees.agents.profils.Profil
> wg>  * @key-generator MAX
> wg>  */
> wg> public class Habilitation {
> wg>
> wg>   /**
> wg>    * Identifiant unique de l'Habilitation
> wg>    * @required
> wg>    * @not-null
> wg>    * @sql-type integer
> wg>    * @sql-size 10
> wg>    * @primary-key
> wg>    * @sql-name HAB_ID
> wg>   */
> wg>   private int idHabilitation;
> wg>
> wg>   /**
> wg>    * @sql-index IND_HAB_PRO
> wg>    * @field-type
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Profil
> wg>    * @sql-name PRO_ID
> wg>    */
> wg>   private Profil profil;
> wg>
> wg>   /**
> wg>    * @sql-type char
> wg>    * @sql-size 250
> wg>    * @sql-name HAB_ACTION
> wg>   */
> wg>   private String action;
> wg>
> wg>   /**
> wg>    * @sql-type char
> wg>    * @sql-size 250
> wg>    * @sql-name HAB_DROIT
> wg>   */
> wg>   private String droitAssocie;
> wg>
> wg>
> wg>
> wg> Here'a a little part of what Jdo is doing when I'm querying
> wg> a Profil and all
> wg> his habilitations :
> wg>
> wg> Requete Jdo :
> wg> getProfils() --> SELECT profil FROM
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Profil profil
> wg> WHERE organisme=
> wg> $1 and mnemonique= $2 order by organisme, mnemonique,
> wg> numVersion DESC
> wg>
> wg> getProfils() --> param = null - paramProfil = Technicien -
> wg> paramOrganisme =
> wg> National
> wg>
> wg> org.exolab.castor.jdo.engine.SQLEngine - Create SQL: SELECT
> wg> SCA_PROFIL.PRO_ID,SCA_PROFIL.PRO_ORGANISME,SCA_PROFIL.PRO_NO
> wg> M_PROFIL,SCA
> wg> _PROFIL.PRO_NUM_VERSION,SCA_PROFIL.PRO_RESUME,SCA_PROFIL.PRO
> wg> _DESCRIPTION
> wg> ,SCA_PROFIL.PRO_ORGANISME_PERE,SCA_PROFIL.PRO_NOM_PROFIL_PER
> wg> E,SCA_PROF_H
> wg> ABILITATION.HAB_ID FROM SCA_PROFIL LEFT OUTER JOIN
> wg> SCA_PROF_HABILITATION ON
> wg> SCA_PROFIL.PRO_ID=SCA_PROF_HABILITATION.PRO_ID WHERE
> wg> (SCA_PROFIL.PRO_ORGANISME = ?1 and
> wg> SCA_PROFIL.PRO_NOM_PROFIL = ?2) ORDER BY
> wg> SCA_PROFIL.PRO_ORGANISME , SCA_PROFIL.PRO_NOM_PROFIL ,
> wg> SCA_PROFIL.PRO_NUM_VERSION DESC
> wg>
> wg> org.exolab.castor.jdo.engine.SQLEngine - Executing the
> wg> following SQL: SELECT
> wg> SCA_PROFIL.PRO_ID,SCA_PROFIL.PRO_ORGANISME,SCA_PROFIL.PRO_NO
> wg> M_PROFIL,SCA
> wg> _PROFIL.PRO_NUM_VERSION,SCA_PROFIL.PRO_RESUME,SCA_PROFIL.PRO
> wg> _DESCRIPTION
> wg> ,SCA_PROFIL.PRO_ORGANISME_PERE,SCA_PROFIL.PRO_NOM_PROFIL_PER
> wg> E,SCA_PROF_H
> wg> ABILITATION.HAB_ID FROM SCA_PROFIL LEFT OUTER JOIN
> wg> SCA_PROF_HABILITATION ON
> wg> SCA_PROFIL.PRO_ID=SCA_PROF_HABILITATION.PRO_ID WHERE
> wg> (SCA_PROFIL.PRO_ORGANISME = ? and SCA_PROFIL.PRO_NOM_PROFIL
> wg> = ?) ORDER BY
> wg> SCA_PROFIL.PRO_ORGANISME , SCA_PROFIL.PRO_NOM_PROFIL ,
> wg> SCA_PROFIL.PRO_NUM_VERSION DESC
> wg>
> wg> org.exolab.castor.jdo.engine.SQLEngine - Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> using SQL: SELECT
> wg> SCA_PROF_HABILITATION.PRO_ID,SCA_PROF_HABILITATION.HAB_ACTIO
> wg> N,SCA_PROF_H
> wg> ABILITATION.HAB_DROIT FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.HAB_ID=?
> wg> org.exolab.castor.persist.LockEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> with id: 5�412 org.exolab.castor.jdo.engine.SQLEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> using SQL: SELECT
> wg> SCA_PROF_HABILITATION.PRO_ID,SCA_PROF_HABILITATION.HAB_ACTIO
> wg> N,SCA_PROF_H
> wg> ABILITATION.HAB_DROIT FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.HAB_ID=?
> wg> org.exolab.castor.persist.LockEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> with id: 5�413 org.exolab.castor.jdo.engine.SQLEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> using SQL: SELECT
> wg> SCA_PROF_HABILITATION.PRO_ID,SCA_PROF_HABILITATION.HAB_ACTIO
> wg> N,SCA_PROF_H
> wg> ABILITATION.HAB_DROIT FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.HAB_ID=?
> wg> org.exolab.castor.persist.LockEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> with id: 5�414 org.exolab.castor.jdo.engine.SQLEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> using SQL: SELECT
> wg> SCA_PROF_HABILITATION.PRO_ID,SCA_PROF_HABILITATION.HAB_ACTIO
> wg> N,SCA_PROF_H
> wg> ABILITATION.HAB_DROIT FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.HAB_ID=?
> wg> org.exolab.castor.persist.LockEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> with id: 5�415 org.exolab.castor.jdo.engine.SQLEngine -
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> using SQL: SELECT
> wg> SCA_PROF_HABILITATION.PRO_ID,SCA_PROF_HABILITATION.HAB_ACTIO
> wg> N,SCA_PROF_H
> wg> ABILITATION.HAB_DROIT FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.HAB_ID=?
> wg> org.exolab.castor.persist.LockEngine -
> wg>
> wg>  Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> with id: 5�416 org.exolab.castor.jdo.engine.SQLEngine -
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> using SQL: SELECT
> wg> SCA_PROF_HABILITATION.PRO_ID,SCA_PROF_HABILITATION.HAB_ACTIO
> wg> N,SCA_PROF_H
> wg> ABILITATION.HAB_DROIT FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.HAB_ID=?
> wg> org.exolab.castor.persist.LockEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> with id: 5�417 org.exolab.castor.jdo.engine.SQLEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> using SQL: SELECT
> wg> SCA_PROF_HABILITATION.PRO_ID,SCA_PROF_HABILITATION.HAB_ACTIO
> wg> N,SCA_PROF_H
> wg> ABILITATION.HAB_DROIT FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.HAB_ID=?
> wg> org.exolab.castor.persist.LockEngine -
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> with id: 5�418 org.exolab.castor.jdo.engine.SQLEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> using SQL: SELECT
> wg> SCA_PROF_HABILITATION.PRO_ID,SCA_PROF_HABILITATION.HAB_ACTIO
> wg> N,SCA_PROF_H
> wg> ABILITATION.HAB_DROIT FROM SCA_PROF_HABILITATION WHERE
> wg> SCA_PROF_HABILITATION.HAB_ID=?
> wg> org.exolab.castor.persist.LockEngine -
> wg>
> wg> Loading class:
> wg> fr.cnam.scapin.metier.donnees.agents.profils.Habilitation
> wg> with id: 5�419
> wg> .
> wg> .
> wg> .
> wg>
> wg> ___________________
> wg> CREDI RA
> wg> Sylvie Palluel
> wg>
> wg> [EMAIL PROTECTED]
> wg> ___________________
> wg>
> wg>
> wg>
> wg>
> wg>
> wg> -------------------------------------------------
> wg> If you wish to unsubscribe from this list, please
> wg> send an empty message to the following address:
> wg>
> wg> [EMAIL PROTECTED]
> wg> -------------------------------------------------
> wg>
> wg>
> 
> -------------------------------------------------
> If you wish to unsubscribe from this list, please
> send an empty message to the following address:
> 
> [EMAIL PROTECTED]
> -------------------------------------------------



-------------------------------------------------
If you wish to unsubscribe from this list, please
send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

Reply via email to