Hy Armin,
here is my
#########################
# repository_rollen.xml #
#########################
<class-descriptor
class="de.on_ergy.lakon.data.model.Rollen" table="rollen">
<field-descriptor
name="objId"
column="obj_id"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="false">
</field-descriptor>
....
<!-- m - n über gruppen_rollen zu gruppen -->
<collection-descriptor
name="gruppen"
collection-class=
"org.apache.ojb.broker.util.collections.ManageableArrayList"
element-class-ref="de.on_ergy.lakon.data.model.Gruppen"
auto-retrieve="true"
auto-update="object"
auto-delete="link"
proxy="true"
indirection-table="gruppen_rollen"
>
<fk-pointing-to-this-class column="rollen_obj_id"/>
<fk-pointing-to-element-class column="gruppen_obj_id"/>
</collection-descriptor>
</class-descriptor>
#####################################
# way, storing "Gruppe" and "Rollen" #
#####################################
// store "Rolle"
RollenIfc rolleBenutzerverw = (RollenIfc)
getInstanceOf(RollenIfc.class);
rolleBenutzerverw.setKennzeichen("BENUTZERVERW");
rolleBenutzerverw.setObjId(new
Integer(RollenIfc.ROLLE_BENUTZER_VERWALTUNG));
broker.beginTransaction();
broker.store(rolleBenutzerverw);
broker.commitTransaction();
broker.close();
// instanciate "Gruppe" and referenz to "Rolle"
GruppenIfc gruppeSysAdm = (GruppenIfc) getInstanceOf(GruppenIfc.class);
gruppeSysAdm.setKennzeichen("SYSADMIN");
gruppeSysAdm.setRollen(new Vector());
gruppeSysAdm.getRollen().add(rolleBenutzerverw);
broker.beginTransaction();
broker.store(gruppeSysAdm);
broker.commitTransaction();
broker.close();
Thanks for your help.
Josef
-----Ursprüngliche Nachricht-----
Von: Armin Waibel [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 17. Mai 2006 01:44
An: OJB Users List
Betreff: Re: WG: OJB do delete and insert instead of update
Hi Josef,
could you post the mapping for 'Rollen' too and a code snippet how you
are store 'Gruppen'. Then I can try to reproduce your problem.
regards,
Armin
Josef Wagner wrote:
> Hi,
>
> here an example of my DELETE and INSERT problem (OJB 1.0.3):
> ##################
> # repository.xml #
> ##################
> <class-descriptor
> class="de.on_ergy.lakon.data.model.Gruppen"
> table="gruppen">
> <field-descriptor
> name="objId"
> column="obj_id"
> jdbc-type="INTEGER"
> primarykey="true"
> autoincrement="true">
> </field-descriptor>
> .....
>
> <!-- m - n width gruppen_rollen to rollen -->
> <collection-descriptor
> name="rollen"
> collection-
> class="org.apache.ojb.broker.util.collections.ManageableArrayList"
> element-class-ref="de.on_ergy.lakon.data.model.Rollen"
> auto-retrieve="true"
> auto-update="object"
> auto-delete="link"
> proxy="true"
> indirection-table="gruppen_rollen">
>
> <fk-pointing-to-this-class column="gruppen_obj_id"/>
> <fk-pointing-to-element-class column="rollen_obj_id"/>
> </collection-descriptor>
>
> </class-descriptor>
>
>
############################################################################
> # output in HSQL LOG when saving the Gruppe width allready existing Rollen
#
>
############################################################################
> INSERT INTO GRUPPEN VALUES(3,'SYSADMIN',NULL,NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=1
> INSERT INTO ROLLEN VALUES(1,'BENUTZERVERW',NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=2
> INSERT INTO ROLLEN VALUES(2,'VWARTEN',NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=3
> INSERT INTO ROLLEN VALUES(3,'TSTAVERW',NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=4
> INSERT INTO ROLLEN VALUES(4,'EINSVERW',NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=5
> INSERT INTO ROLLEN VALUES(5,'TEILELOESCH',NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=6
> INSERT INTO ROLLEN VALUES(6,'PROJVERW',NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=7
> INSERT INTO ROLLEN VALUES(7,'KONTRKM',NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=8
> INSERT INTO ROLLEN VALUES(8,'KONTRRHTH',NULL)
> DELETE FROM ROLLEN WHERE OBJ_ID=9
> INSERT INTO ROLLEN VALUES(9,'VERWAEND',NULL)
> INSERT INTO ROLLEN VALUES(10,'VERWLOESCH',NULL)
>
> ---
>
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,1)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,2)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,3)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,4)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,5)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,6)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,7)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,8)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,9)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,10)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,11)
> INSERT INTO GRUPPEN_ROLLEN VALUES(3,12)
>
> What is OJB doing in the first part of the log (DELETE, INSERT...)? Is
there
> a problem in my repository.xml?
>
> Thanks a lot for your help!
> Josef
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Josef Wagner [mailto:[EMAIL PROTECTED]
> Gesendet: Mittwoch, 10. Mai 2006 08:49
> An: 'OJB Users List'
> Betreff: AW: OJB do delete and insert instead of update
>
> Hi Armin,
> I'm working with OJB 1.0.3.
> Sorry, I have debugged again and see that m-n-handling is ok.
> Delete and insert instead of updating takes only affect by updating the
> primitive attributes of an object, not in the m-n relation tables.
>
> regards
> Josef
>
>
> Hi Josef,
>
> Josef Wagner wrote:
>> Hello list,
>>
>>
>>
>> why does ojb delete and insert when I'm updating an existing entry?
>>
>> Isn't this way negative in view of performance?
>>
>> I've seen this concept also by updating m-n relations.
>>
>
> Which version of OJB do you use?
> Beside the update of m-n relations when does OJB "delete and insert"
> instead of a simply update? Could you describe more detailed?
>
> regards,
> Armin
>
>
>>
>>
>> Thanks for your answers
>>
>> Josef Wagner, Germany
>>
>>
>
> ---------------------------------------------------------------------
> 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]
>
>
---------------------------------------------------------------------
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]