Hello, Reece, you are happy man. This problem seems solved. I tested it
with OpenJPA 1.2.0.
You have to declare you unique constraint in the persistence class(es)
something like:
@Entity
@Table(name="my_table_name",
[EMAIL PROTECTED](columnNames={"my_field1_id",
"my_field2_id"}))
public class MyClass {
.........
.........
and to add following property to pesistence.xml file
<property name="openjpa.jdbc.UpdateManager" value="operation-order"/>
Best regards
Georgi
Reece Garrett wrote:
> Georgi,
>
> Perhaps I misunderstood your original post. My problem was related to the
> ordering of insert/delete/and update statements. For example, if in the same
> transaction I delete a row with a unique column value A and also insert a row
> with unique column value A OpenJPA will sometimes do the insert before the
> delete and violate the unique constraint. And since I'm forced to use a DBMS
> that does not support differed constraints I need OpenJPA to order statements
> such that unique constraints aren't violated.
>
> It sounds like your problem is considerably different than mine.
>
> -Reece
>
>>>> Georgi Naplatanov <[EMAIL PROTECTED]> 8/25/2008 12:31 PM >>>
> Hello, Reece.
>
> I switched on OpenJPA logging and in some situations OpenJPA try to
> insert 2 rows with the same values of constraint's fields which violates
> unique constraint.
> It occurs only when query's data cache is enabled (it is enabled by
> default).
>
> Is your problem stopping raise when you switch off query data cache ?
>
> At this time i can not isolate the problem and i can not prepare a test
> case which will reproduce this problem. It is the reason to not open an
> issue report.
>
> Reece Garrett wrote:
>> Hello,
>>
>> You may want to look at http://issues.apache.org/jira/browse/OPENJPA-235. I
>> was having problems with OpenJPA violating foreign key constraints because
>> of the order SQL statements ran. Later I found, as have you, that unique
>> constraints are also violated. Foreign keys now seem to be working but
>> unique constraints are still a problem. At one point I was conversing with
>> Markus Fuchs about the problem but we both got busy and nothing got done. My
>> JIRA was closed with instructions that other cases which need addressing
>> should be placed in a separate JIRA. So you should open a new JIRA and link
>> it to OPENJPA-235.
>>
>> -Reece
>>
>>>>> Georgi Naplatanov <[EMAIL PROTECTED]> 8/24/2008 4:46:06 AM >>>
>> Hello, everybody.
>>
>> Is there a way to be executed generated SQL statements in order in which
>> application passes them to OpenJPA ?
>>
>> I tried "operation-order" implementation, but it reorders statements and
>> violates unique constraints in the database despite they are declared in
>> persistence classes, even query data cache is switched on.
>>
>> Best regards
>> Georgi
>>
>>
>>
>>
>>
>
>