Hi Armin,

I am using OJB 1.0.3 and only used "link", didn't try "object". I made a
quick fix in MtoNBroker, that looks like it works for me now, please see
the attached file. And find it under "FIXED" comment,

The example I gave is simplified from the real. But I think it gives the
idea where problem is-> OJB assumes that (M to N) table has only
different fields for M key and N key when actually in my case both keys
are composite and some fields are common.

M key: k1,m1
N key: k1,n1

So (M to N) table has only 3 keys: k1,m1,n1
, not 4: k1,m1,k1,n1.


If you still need a full descriptor let me know, and I will send it to
you...

Regards,
Sergey




-----Original Message-----
From: Armin Waibel [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 24, 2005 1:09 PM
To: OJB Users List
Subject: Re: bug in OJB?

Hi Sergey,

which version of OJB do you use?
Could you post the whole class-descriptor for MyClass and the m-side
class.
Is the wrong sql-statement only be generated with auto-update="link" or 
for "object" too?

regards,
Armin


Manukyan, Sergey wrote:
> Folks,
> 
> 
> 
> 
> When I have :
> 
> 
> 
> 
> <class-descriptor class="com.lear.app.sqs.beans.MyClass">
> 
> ...
> 
> <collection-descriptor name="allUsers"
> 
> 
> 
>
collection-class="org.apache.ojb.broker.util.collections.ManageableArray
> List"
> 
> 
> 
> element-class-ref="com.lear.app.sqs.beans.MyUser"
> 
> 
>                         auto-update="link"
> 
> 
>                         indirection-table="CLASS">
> 
> 
> 
> 
>                         <fk-pointing-to-this-class column="SPUNIT" />
> 
>                         <fk-pointing-to-this-class column="SPCLASS" />
> 
>                        
> 
> 
>                         <fk-pointing-to-element-class column="SPUNIT"
/>
> 
>                         <fk-pointing-to-element-class column="SPUSER"
/>
> 
>             </collection-descriptor>
> 
> </class-descriptor>
> 
> 
> 
> 
> And then call create(myClass) on Persistent Broker, when storing link
> for a collection it generates INSERT SQL with duplicated field SPUNIT
->
> results in SQL exception:
> 
> 
> 
> 
> [org.apache.ojb.broker.accesslayer.StatementsForClassImpl] ERROR:
> [SQL0121] Duplicate name SPUNIT not allowed.
> 
> 
> 
> 
> INSERT INTO CLASS (SPUNIT, SPCLASS, SPUNIT,SPUSER) VALUES (?,?,?,?)
> 
> 
> 
> 
> Any workaround ideas?
> 
> 
> 
> 
> Thank you,
> 
> 
> 
> 
> Sergey
> 
> 
> 
> 
> 
> 
> **********************
> ** LEGAL DISCLAIMER **
> **********************
> 
> This E-mail message and any attachments may contain
> 
> legally privileged, confidential or proprietary
> 
> information. If you are not the intended recipient(s),
> or the employee or agent responsible for delivery of
> 
> this message to the intended recipient(s), you are
> 
> hereby notified that any dissemination, distribution
> 
> or copying of this E-mail message is strictly
> 
> prohibited. If you have received this message in
> 
> error, please immediately notify the sender and
> 
> delete this E-mail message from your computer.

---------------------------------------------------------------------
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