hi oleg,

seeing the src, i guess this :

    jdo.setLogWriter( log.getSystemLogger() );

should write the log to the console (with the "[castor]" prefix). but it 
doesnot do anything. so i tried this :

    Logger log = new Logger(new java.io.FileOutputStream("castor.log", 
true));
    jdo.setLogWriter( log.getSystemLogger() );

with no more result..

--
gilles


>From: Oleg Nitz <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: Re: [castor-dev] Simple OQL ... ?
>Date: Mon, 6 Aug 2001 13:38:18 +0300
>
>gilles dodinet wrote:
> > hi oleg,
>
> > i'd like to see the log too!! but i cant unfortunately find it. :(
>Call
>     jdo.setLogWriter( Logger.getSystemLogger() );
>Where Logger is from org.exolab.castor.util package.
>Please, send me the log.
>
>Oleg
>
> > anyhow here are my mapping files.
> > note when i do : "select c from estore.Commande c"  i dont get any 
>Commande
> > : NullPointerException caused by the fact that the produit that is 
>bundled
> > in LigneDeCommande is not loaded from db : could it be the same prob? 
>(more
> > exactly if i catch the exception in the method that throw it, in class
> > LigneDeCommande, i then can get all the Commandes (but Produits 
>associated
> > with em via the usse of the association class LigneDeCommande are null).
>
> > thx very much for ur time.
>
> > <!-- database.xml -->
> > <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor JDO Configuration DTD 
>Version
> > 1.0//EN" "http://castor.exolab.org/jdo-conf.dtd";>
>
> > <database name="castor" engine="mysql">
> >   <driver class-name="org.gjt.mm.mysql.Driver"
> >           url="jdbc:mysql://leger-paqueret/castor">
> >     <param name="user" value="rhill" />
> >     <param name="password" value="rhill" />
> >   </driver>
> >   <mapping href="mapping.xml" />
> > </database>
>
> > <!-- mapping.xml -->
> > <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor Mapping DTD Version 
>1.0//EN"
> > "http://castor.exolab.org/mapping.dtd";>
>
> > <mapping>
> >   <key-generator name="HIGH/LOW" alias="keygen">
> >      <param name="table" value="key_table"/>
> >      <param name="key-column" value="table_name"/>
> >      <param name="value-column" value="id"/>
> >   </key-generator>
> >   <include href="client.xml"/>
> >   <include href="produit.xml"/>
> >   <include href="commande.xml"/>
> > </mapping>
>
> > <!-- client.xml -->
> > <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor Mapping DTD Version 
>1.0//EN"
> > "http://castor.exolab.org/mapping.dtd";>
>
> > <mapping>
> > <!-- CLIENT MAPPING DEF -->
> >   <class name="estore.Client" identity="id" key-generator="keygen"
>access="db-locked">>
> >     <cache-type type="count-limited" capacity="10000" />
> >     <description>Client Definition</description>
> >     <map-to table="client" xml="client" />
> >    <field name="id" type="integer" >
> >    <sql name="id"/>
> >       <!--<sql name="id" type="integer"/>
> >       <xml node="attribute"/>-->
> >     </field>
> >     <field name="nom" type="string">
> >       <sql name="nom" type="varchar" dirty="check" />
> >       <xml node="text" />
> >     </field>
> >     <field name="age" type="integer" >
> >       <sql name="age" type="integer"/>
> >       <xml node="element"/>
> >     </field>
> >     <!-- client-to-cmd relationship -->
> >     <field name="commandes" type="estore.Commande" required="false"
>collection="vector">>
> >       <sql many-key="client_id"/>
> >       <xml name="commandes" node="element" />
> >     </field>
> >     <!-- end client-to-cmd -->
> >   </class>
> >   <!-- END CLIENT MAPPING DEF -->
> > </mapping>
>
> > <!-- produit.xml -->
> > <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor Mapping DTD Version 
>1.0//EN"
> > "http://castor.exolab.org/mapping.dtd";>
>
> > <mapping>
> > <!-- _ABSTRACT_ PRODUIT MAPPING DEF -->
> >   <class name="estore.Produit" identity="id" key-generator="keygen"
>access="db-locked">>
> >     <cache-type type="count-limited" capacity="10000" />
> >     <description>Abstract Produit Definition</description>
> >     <map-to table="produit" xml="produit" />
> >     <field name="id" type="integer">
> >       <sql name="id" type="integer" />
> >       <xml name="id" node="attribute"/>
> >     </field>
> >     <field name="description" type="string">
> >       <sql name="description" type="varchar" />
> >       <xml name="description" node="element" />
> >     </field>
> >     <field name="prix" type="double">
> >       <sql name="prix" type="double" />
> >       <xml name="prix" node="element" />
> >     </field>
> >     <!-- many-to-many produitpromotionnel-to-produit relationship def 
>-->
> >     <field name="parents" type="estore.ProduitPromotionnel"
> >            required="false" collection="vector">
> >       <!--sql name="promo_id" many-table="promo_prod" 
>many-key="produit_id"
>/-->>
> >       <sql name="promo_id" many-key="produit_id" 
>many-table="promo_prod"/>
> >       <xml name="parents" node="element" />
> >     </field>
> >     <!-- end many-to-many produitpromotionnel-to-produit relationship 
>def
>-->>
> >     <!-- one-to-many prd-to-ldc -->
> >     <field name="ldc" type="estore.LigneDeCommande" required="false"
>collection="vector">>
> >       <sql many-key="prd_id"/>
> >       <xml name="ldc" node="element" />
> >     </field>
> >     <!-- end one-to-many ldc-to-prd -->
> >   </class>
> >     <!-- END PRODUIT MAPPING DEF -->
>
> >     <!-- BASICPRODUIT MAPPING DEF -->
> >   <class name="estore.BasicProduit"
> >          identity="id"
> >          extends="estore.Produit"
> >          access="db-locked">
> >     <cache-type type="count-limited" capacity="10000" />
> >     <field name="id" type="integer">
> >       <sql name="id" type="integer" />
> >       <xml name="id" node="attribute"/>
> >     </field>
> >     <map-to table="basic_produit" xml="basicProduit" />
> >     <field name="marque" type="string">
> >       <sql name="marque" type="varchar" />
> >       <xml name="marque" node="element" />
> >     </field>
> >   </class>
> >   <!-- END BASICPRODUIT MAPPING DEF -->
>
> >   <!-- PRODUITPROMOTIONNEL MAPPING DEF -->
> >   <class name="estore.ProduitPromotionnel"
> >          identity="id"
> >          extends="estore.Produit"
> >          access="db-locked">
> >     <cache-type type="count-limited" capacity="10000" />
> >     <map-to table="produit_promotionnel" xml="produitPromotionnel" />
> >     <field name="id" type="integer">
> >       <sql name="id" type="integer" />
> >       <xml name="id" node="attribute"/>
> >     </field>
> >     <field name="finPromo" type="java.util.Date">
> >       <sql name="date_fin" type="date" />
> >       <xml name="dateFin" node="element" />
> >     </field>
> >     <!-- many-to-many produitpromotionnel-to-produit relationship def 
>-->
> >     <field name="embeddedProduits" type="estore.Produit"
> >            required="true" collection="vector">
> >       <!--sql name="produit_id" many_table="promo_prod"
> > many-key="promo_id"/-->
> >       <sql name="produit_id" many-key="promo_id" 
>many-table="promo_prod"/>
> >       <xml name="embeddedProduits" node="element" />
> >     </field>
> >     <!-- end many-to-many produitpromotionnel-to-produit relationship 
>def
>-->>
> >   </class>
> >   <!-- END PRODUITPROMOTIONNEL MAPPING DEF -->
> > </mapping>
>
> > <!-- commande.xml -->
> > <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor Mapping DTD Version 
>1.0//EN"
> > "http://castor.exolab.org/mapping.dtd";>
>
> > <mapping>
> >   <!-- COMMANDE MAPPING DEFINITION -->
> >   <class name="estore.Commande" identity="id"
> >          key-generator="keygen" access="db-locked" >
> >     <cache-type type="count-limited" capacity="10000" />
> >     <map-to table="commande" xml="Commande" />
> >     <field name="id" type="integer">
> >       <sql name="id" type="integer" />
> >       <xml name="id" node="attribute"/>
> >     </field>
> >     <field name="total" type="double">
> >       <sql name="total" type="double" />
> >       <xml name="total" node="element" />
> >     </field>
> >     <field name="client" type="estore.Client">
> >       <sql name="client_id" />
> >       <xml name="client" node="element" />
> >     </field>
> >     <!-- one-to-many commande-to-lignedecommande relationship def -->
> >     <field name="lignesDeCommandeList" type="estore.LigneDeCommande"
> > required="false" collection="vector">
> >       <sql many-key="cmd_id"/>
> >       <xml name="lignesDeCommande" node="element" />
> >     </field>
> >     <!-- end one-to-many commande-to-lignedecommande relationship def 
>-->
> >   </class>
> >   <!-- END COMMANDE MAPPING DEFINITION -->
>
> >   <!-- LIGNEDECOMMANDE MAPPING DEF -->
> >   <class name="estore.LigneDeCommande" identity="id" access="db-locked"
> >          key-generator="keygen" depends="estore.Commande" >
> >     <cache-type type="count-limited" capacity="10000" />
> >     <map-to table="ligne_de_commande" xml="LigneDeCommande" />
> >     <field name="id" type="integer">
> >       <sql name="id" type="integer" />
> >       <xml name="id" node="attribute"/>
> >     </field>
> >     <field name="quantite" type="integer">
> >       <sql name="quantite" type="integer" />
> >       <xml name="quantite" node="element" />
> >     </field>
> >     <field name="total" type="double">
> >       <sql name="total" type="double" />
> >       <xml name="total" node="element" />
> >     </field>
> >     <!-- one-to-many commande-to-lignedecommande relationship def -->
> >     <field name="cmd" type="estore.Commande">
> >       <sql name="cmd_id"/>
> >       <xml name="cmdId" node="element"/>
> >     </field>
> >     <!-- end one-to-many commande-to-lignedecommande relationship def 
>-->
> >     <!-- one-to-many prd-to-ldc relationship def -->
> >     <field name="prd" type="estore.Produit">
> >       <sql name="prd_id" />
> >       <xml name="prdId" node="element"/>
> >     </field>
> >     <!-- end one-to-many prd-to-ldc relationship def -->
> >   </class>
> >   <!-- END LIGNEDECOMMANDE MAPPING DEF -->
> > </mapping>
>
>
>
>
>
> >>From: Oleg Nitz <[EMAIL PROTECTED]>
> >>Reply-To: [EMAIL PROTECTED]
> >>To: [EMAIL PROTECTED]
> >>Subject: Re: [castor-dev] Simple OQL ... ?
> >>Date: Mon, 6 Aug 2001 12:15:13 +0300
> >>
> >>Hi Gilles,
> >>
> >>First, I'd like to see the Castor log where the full SQL statements
> >>are seen.
> >>Second, I'd like to see your mapping.xml
> >>
> >>Oleg
> >>
> >>gilles dodinet wrote:
> >> > hi oleg,
> >>
> >> > thanks for your help, it works better now : no probs when loading
> >>clients
> >> > ("select c from Client c") ; but i got another exception when trying 
>to
> >>get
> >> > the products ("select c from Produit c"). i can't retrieve the exact 
>sql
> >> > error ("PersistenceException nested error : [..]"). here's the
> >>StackTrace :
> >>
> >> > java.sql.SQLException: Syntax error or access violation: You have an
> >>error
> >> > in your SQL syntax near 'null promo_prod ON
> >> > produit_promotionnel.id=promo_prod.promo_id,produit WHERE pro' at 
>line 1
> >> >         at org.gjt.mm.mysql.MysqlIO.sendCommand(MysqlIO.java:497)
> >> >         at org.gjt.mm.mysql.MysqlIO.sqlQueryDirect(MysqlIO.java:550)
> >> >         at org.gjt.mm.mysql.Connection.execSQL(Connection.java:885)
> >> >         at
> >> >
> >>org.gjt.mm.mysql.PreparedStatement.executeQuery(PreparedStatement.java:288)
> >> >         at
> >>org.exolab.castor.jdo.engine.SQLEngine.load(SQLEngine.java:1008)
> >> >         at
> >>org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:646)
> >> >         at
> >>org.exolab.castor.persist.LockEngine.load(LockEngine.java:361)
> >> >         at
> >> >
> >>org.exolab.castor.persist.TransactionContext.load(TransactionContext.java:545)
> >> >         at
> >> >
> >>org.exolab.castor.persist.TransactionContext.load(TransactionContext.java:479)
> >> >         at
> >>org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:742)
> >> >         at
> >>org.exolab.castor.persist.LockEngine.load(LockEngine.java:361)
> >> >         at
> >> >
> >>org.exolab.castor.persist.TransactionContext.load(TransactionContext.java:545)
> >> >         at
> >>org.exolab.castor.persist.QueryResults.fetch(QueryResults.java:229)
> >> >         at
> >> >
> 
>>>org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryImpl.java:573)
> >> >         at
> >> >
> 
>>>org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryImpl.java:556)
> >> >         at estore.EstoreMain.oqlQueryTest(EstoreMain.java:24)
> >> >         at estore.EstoreMain.goGoGo(EstoreMain.java:214)other ex..
> >> > org.exolab.castor.jdo.TransactionAbortedException: Nested error:
> >> > org.exolab.castor.jdo.PersistenceException: Object, 
>estore.Produit/321,
> >> > isn't loaded in the persistence storage!
> >> > at estore.EstoreMain.main(EstoreMain.java:193)
> >> > org.exolab.castor.jdo.PersistenceException: Object, 
>estore.Produit/321,
> >> > isn't loaded in the persistence storage!
> >> >         at
> >>org.exolab.castor.persist.ClassMolder.preStore(ClassMolder.java:1106)
> >> >         at
> >>org.exolab.castor.persist.LockEngine.preStore(LockEngine.java:710)
> >> >         at
> >> >
> >>org.exolab.castor.persist.TransactionContext.prepare(TransactionContext.java:1146)
> >> >         at
> >>org.exolab.castor.jdo.engine.DatabaseImpl.commit(DatabaseImpl.java:498)
> >> >         at estore.EstoreMain.oqlQueryTest(EstoreMain.java:48)
> >> >         at estore.EstoreMain.goGoGo(EstoreMain.java:214)
> >> >         at estore.EstoreMain.main(EstoreMain.java:193
> >>
> >> > thx.
> >>
> >> > --
> >> > gilles
> >>
> >> >>From: Oleg Nitz <[EMAIL PROTECTED]>
> >> >>Reply-To: [EMAIL PROTECTED]
> >> >>To: [EMAIL PROTECTED]
> >> >>Subject: Re: [castor-dev] Simple OQL ... ?
> >> >>Date: Sat, 4 Aug 2001 00:29:40 +0300
> >> >>
> >> >>Hi Gilles,
> >> >>
> >> >>I guess you use "generic" driver, which is set in database.xml
> >> >>
> >> >><database name="..." engine="generic" >
> >> >>
> >> >>Should be
> >> >>
> >> >><database name="..." engine="mysql" >
> >> >>
> >> >>MySQL driver doesn't generate "{oj" at all.
> >> >>
> >> >>Oleg
> >> >>
> >> >>On Wednesday 01 August 2001 10:43, gilles dodinet wrote:
> >> >> > hi..
> >> >> >
> >> >> > m always in trouble with generation of bad sql queries... i've 
>posted
> >> >>this
> >> >> > mess several days ago but got no answer.. could someone gimme a
> >>clue..
> >> >> > thanks.. below the previous post (no change - same error :()
> >> >> >
> >> >> > (i use mysql 3.23)
> >> >> >
> >> >> > Castor generates this sql query below (resulting of oql query 
>"select
> >>p
> >> >> > from estore.Produit p") :
> >> >> >
> >> >> > SELECT
> >> >> >
> >> 
> >>produit.id,produit.description,produit.prix,promo_prod.promo_id,ligne_de_co
> >> >> >mmande.id FROM
> >> >> >    {oj produit LEFT OUTER JOIN promo_prod ON
> >> >> > produit.id=promo_prod.produit_id
> >> >> >      LEFT OUTER JOIN ligne_de_commande ON
> >> >> > produit.id=ligne_de_commande.prd_id};
> >> >> >
> >> >> > that throws an SqlException. it think it would have generated this
> >>one
> >> >> > rather that don't produce sql error :
> >> >> >
> >> >> > SELECT
> >> >> >
> >> 
> >>produit.id,produit.description,produit.prix,promo_prod.promo_id,ligne_de_co
> >> >> >mmande.id FROM { oj
> >> >> >    {oj produit LEFT OUTER JOIN promo_prod ON
> >> >> > produit.id=promo_prod.produit_id }
> >> >> >      LEFT OUTER JOIN ligne_de_commande ON
> >> >> > produit.id=ligne_de_commande.prd_id};
> >> >> >
> >> >> > does this problem come from a mapping error or is this a bug in
> >>castor??
> >> >> > (below portions of mapping files)
> >> >> >
> >> >> > -------------------- MAPPING -------------
> >> >> > in produit.xml (class Produit and inherited classes) :
> >> >> >
> >> >> > <field name="ldc" type="estore.LigneDeCommande" required="false"
> >> >> > collection="vector">
> >> >> >    <sql many-key="prd_id"/>
> >> >> > </field>
> >> >> >
> >> >> > in commande.xml (class Commande and LigneDeCommande ) :
> >> >> >
> >> >> > <field name="prd" type="estore.Produit">
> >> >> >    <sql name="prd_id" />
> >> >> > </field>
> >> >> > -----------------------------END MAPPING ---------------------
> >> >> >
> >> >> > thx for your replies.
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> > _________________________________________________________________
> >> >> > T�l�chargez MSN Explorer gratuitement � l'adresse
> >> >> > http://explorer.msn.fr/intl.asp
> >> >> >
> >> >> > -----------------------------------------------------------
> >> >> > If you wish to unsubscribe from this mailing, send mail to
> >> >> > [EMAIL PROTECTED] with a subject of:
> >> >> >     unsubscribe castor-dev
> >> >>
> >> >>-----------------------------------------------------------
> >> >>If you wish to unsubscribe from this mailing, send mail to
> >> >>[EMAIL PROTECTED] with a subject of:
> >> >>       unsubscribe castor-dev
> >> >>
> >>
> >>
> >> > _________________________________________________________________
> >> > T�l�chargez MSN Explorer gratuitement � l'adresse
> >> > http://explorer.msn.fr/intl.asp
> >>
> >> > -----------------------------------------------------------
> >> > If you wish to unsubscribe from this mailing, send mail to
> >> > [EMAIL PROTECTED] with a subject of:
> >> >         unsubscribe castor-dev
> >>
> >>-----------------------------------------------------------
> >>If you wish to unsubscribe from this mailing, send mail to
> >>[EMAIL PROTECTED] with a subject of:
> >>       unsubscribe castor-dev
> >>
>
>
> > _________________________________________________________________
> > T�l�chargez MSN Explorer gratuitement � l'adresse
> > http://explorer.msn.fr/intl.asp
>
> > -----------------------------------------------------------
> > If you wish to unsubscribe from this mailing, send mail to
> > [EMAIL PROTECTED] with a subject of:
> >         unsubscribe castor-dev
>
>-----------------------------------------------------------
>If you wish to unsubscribe from this mailing, send mail to
>[EMAIL PROTECTED] with a subject of:
>       unsubscribe castor-dev
>


_________________________________________________________________
T�l�chargez MSN Explorer gratuitement � l'adresse 
http://explorer.msn.fr/intl.asp

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to