Hi Oleg

here are the informations.

First, the data before the test (I include only the ids, the tables are
quite long):

ID                                  ID_DOSSIER
totoMon Jun 14 08:35:27 CEST 2004   28704700005
totoWed Jun 09 17:05:30 CEST 2004   28704700005
510183102                           28704700005
58704700005                         28704700005
894125102                           28704700005
954125102                           28704700005

After the test.

ID                                  ID_DOSSIER
totoMon Jun 14 08:56:17 CEST 2004   28704700005
totoWed Jun 09 17:05:30 CEST 2004   28704700005
510183102                           28704700005
58704700005                         28704700005
894125102                           28704700005
954125102                           28704700005

The row with the id "totoMon Jun 14 08:56:17 CEST 2004" has been added, but
the id "totoMon Jun 14 08:35:27 CEST 2004" has been deleted.

Here is the test code used.

-------------------------------------
OTMKit kit = SimpleKit.getInstance();
OTMConnection conn = null;
Transaction tx = null;
DossierImpl dossier = null;
try {
      conn =
kit.acquireConnection(PersistenceBrokerFactory.getDefaultKey());
      tx = kit.getTransaction(conn);
      tx.begin();
      // retrieve DossierImpl
      Criteria crit = new Criteria();
      crit.addEqualTo("id", "28704700005");
      Query q = new QueryByCriteria(DossierImpl.class, crit);
      Iterator dossiers = conn.getIteratorByQuery(q);
      if (dossiers.hasNext()) dossier = (DossierImpl) dossiers.next();
      // add new FeuilleCalculRemboursement
      FeuilleCalcul feuille = new FeuilleCalculRemboursementImpl();
      feuille.setId("toto" + new java.util.Date());
      dossier.addFeuilleCalcul(feuille);
      tx.commit();
} finally {
      if (conn != null) conn.close();
}
-------------------------------------

My two objects of type DossierImpl and FeuilleCalculRemboursement are POJOs
and the method addFeuilleCalcul(feuille) just performs add(Object) on a
java.util.Collection.

This is my repository_user.xml :

      <class-descriptor
            class="ch.admin.ofit.prestations.bm.commun.dossier.DossierImpl"
            table="TPUDOSSIER"
      >
            <field-descriptor
                  name="id"
                  column="ID"
                  jdbc-type="VARCHAR"
                  primarykey="true"
                  autoincrement="false"
            />
            <field-descriptor
            name="appliDefinition"
            column="APPLI_DEF"
            jdbc-type="VARCHAR"
            />
            <field-descriptor
            name="referenceExterne"
            column="REF_EXT"
            jdbc-type="VARCHAR"
            />
            <field-descriptor
            name="langue"
            column="LANGUE"
            jdbc-type="CHAR"
            />
            <field-descriptor
            name="convention"
            column="CONVENTION"
            jdbc-type="VARCHAR"
            />

            <collection-descriptor
                  name="feuillesCalcul"
                  element-class-ref=
"ch.admin.ofit.prestations.bm.commun.feuillecalcul.AbstractFeuilleCalculImpl"
                  auto-update="object"
            >
                  <inverse-foreignkey field-ref="idDossier"/>
            </collection-descriptor>
      </class-descriptor>

      <class-descriptor
            class=
"ch.admin.ofit.prestations.bm.commun.feuillecalcul.AbstractFeuilleCalculImpl"
      >
            <extent-class class-ref=
"ch.admin.ofit.prestations.bm.rente.feuillecalcul.FeuilleCalculRemboursementImpl"
/>
            <extent-class class-ref=
"ch.admin.ofit.prestations.bm.rente.feuillecalcul.FeuilleCalculTransfertImpl"
/>

      </class-descriptor>

      <class-descriptor
            class=
"ch.admin.ofit.prestations.bm.rente.feuillecalcul.FeuilleCalculRemboursementImpl"
            proxy="dynamic"
            table="TPRFCRMBT"
      >
            <field-descriptor
                  name="id"
                  column="ID"
                  jdbc-type="VARCHAR"
                  primarykey="true"
                  autoincrement="false"
            />

            <field-descriptor
                  name="dateCreation"
                  column="DATE_CREATION"
                  conversion=
"ch.admin.ofit.ojb.conversion.Date2SqlVarcharFiedConversion"
                  jdbc-type="CHAR"
            />
            <field-descriptor
                  name="exploitee"
                  column="BOOL_EXPLOITEE"
                  conversion=
"ch.admin.ofit.ojb.conversion.Boolean2SqlCharFiedConversion"
                  jdbc-type="CHAR"
            />
            <field-descriptor
                  name="type"
                  column="UCODE_TYPE"
                  jdbc-type="VARCHAR"
            />
            <field-descriptor
                  name="idDossier"
                  jdbc-type="VARCHAR"
                  column="ID_DOSSIER"
                  access="anonymous"
            />
            <field-descriptor
                  name="droitApplique"
                  column="UCODE_REVISION"
                  jdbc-type="VARCHAR"
            />
            <field-descriptor
                  name="dateDepot"
                  column="DATE_DEPOT"
                  conversion=
"ch.admin.ofit.ojb.conversion.Date2SqlVarcharFiedConversion"
                  jdbc-type="CHAR"
            />
            <field-descriptor
                  name="dateDeces"
                  column="DATE_DECES"
                  conversion=
"ch.admin.ofit.ojb.conversion.Date2SqlVarcharFiedConversion"
                  jdbc-type="CHAR"
            />
            <field-descriptor
                  name="montantEquite"
                  column="MNT_EQUITE"
                  jdbc-type="DECIMAL"
            />
            <field-descriptor
                  name="montantMensuel"
                  column="MNT_MENS"
                  jdbc-type="DECIMAL"
            />
            <field-descriptor
                  name="montantRemboursement"
                  column="MNT_RMBT"
                  jdbc-type="DECIMAL"
            />
            <field-descriptor
                  name="montantRemboursementNet"
                  column="MNT_RMBT_NET"
                  jdbc-type="DECIMAL"
            />
            <field-descriptor
                  name="montantLimite"
                  column="BOOL_RMBT_LIM"
                  conversion=
"ch.admin.ofit.ojb.conversion.Boolean2SqlCharFiedConversion"
                  jdbc-type="CHAR"
            />
            <field-descriptor
                  name="valeurActuelle"
                  column="VALEUR_ACTU"
                  jdbc-type="DECIMAL"
            />
      </class-descriptor>

      <class-descriptor
            class=
"ch.admin.ofit.prestations.bm.rente.feuillecalcul.FeuilleCalculTransfertImpl"
            proxy="dynamic"
            table="TPRFCTRF"
      >
            <field-descriptor
                  name="id"
                  column="ID"
                  jdbc-type="VARCHAR"
                  primarykey="true"
                  autoincrement="false"
            />

            <field-descriptor
                  name="dateCreation"
                  column="DATE_CREATION"
                  conversion=
"ch.admin.ofit.ojb.conversion.Date2SqlVarcharFiedConversion"
                  jdbc-type="CHAR"
            />
            <field-descriptor
                  name="exploitee"
                  column="BOOL_EXPLOITEE"
                  conversion=
"ch.admin.ofit.ojb.conversion.Boolean2SqlCharFiedConversion"
                  jdbc-type="CHAR"
            />
            <field-descriptor
                  name="type"
                  column="UCODE_TYPE"
                  jdbc-type="VARCHAR"
            />
            <field-descriptor
                  name="idDossier"
                  jdbc-type="VARCHAR"
                  column="ID_DOSSIER"
                  access="anonymous"
            />
      </class-descriptor>

I tried again without the proxy attributes, and it works as it should.

Stefano




|---------+--------------------------->
|         |           Oleg Nitz       |
|         |           <[EMAIL PROTECTED]>    |
|         |                           |
|         |           12.06.2004 10:51|
|         |           Veuillez        |
|         |           répondre à "OJB |
|         |           Users List"     |
|         |                           |
|---------+--------------------------->
  
>----------------------------------------------------------------------------------------------------------------------|
  |                                                                                    
                                  |
  |        Pour :   "OJB Users List" <[EMAIL PROTECTED]>                               
                             |
  |        cc :                                                                        
                                  |
  |        Objet :  Re: Réf. : Re: Bug with OTM API and proxies ?                      
                                  |
  
>----------------------------------------------------------------------------------------------------------------------|




Hi Stefano,

On Friday 11 June 2004 10:46, [EMAIL PROTECTED] wrote:
> I'll send my configuration, but I am quite busy right now and I have to
> isolate the test case from my system. I'll do that nex week.
Okay, then send me a snippet of your repository.xml with those two classes
and the code snippet for addition via OTM that fails.

Thanks,
 Oleg



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to