cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: merging relationships
Date Fri, 18 Jan 2008 14:43:50 GMT
I don't understand the reason for the error... Did it happen because  
source and destination are the same object or something? Otherwise I  
don't see where the duplicate key is created?

Andrus


On Jan 17, 2008, at 8:28 AM, Marcin Skladaniec wrote:

> Hello
>
> I have encountered an exception when trying to merge relationships  
> using this code :
>
> Artist source;
> Artist destination;
> while (source.getPaintings().size() > 0) {
> 	Object value = source. getPaintings().get(0);
>
> 	source.removeFromPaintings(value);
> 	destination.addToPaintings(value);
> }
>
> This code works for one-to-many relationships, no surprise. For the  
> many-to-many relationships with intermediate table with compound pk  
> the result is, that upon commit an error message comes up:
>
> The statement was aborted because it would have caused a duplicate  
> key value in a unique or primary key constraint or unique index  
> identified by 'SQL071114101016080' defined on  
> 'ARTIST_PAINTING'.java.sql.SQLException: The statement was aborted  
> because it would have caused a duplicate key value in a unique or  
> primary key constraint or unique index identified by  
> 'SQL071114101016080' defined on 'ARTIST_PAINTING'
>
> It is a perfectly valid error message, and we have avoided it  
> already, but shouldn't cayenne resolve this internally and prevent  
> creating double relationship ?
>
> With regards
> Marcin
>


Mime
View raw message