> The spec says in 3.2.4.1 p. 52: Any Version columns used by the  
> entity must be checked by the persistence runtime implementation  
> during the merge operation and/or at flush or commit time.
>
> So, one could agree with Abe (the and/or is the key).
>
> Reading about it further, the spec says in 9.1.17 p. 178: "The  
> version is used to ensure integrity when performing the merge  
> operation and for optimistic concurrency control." and there's  
> nothing about flush/commit time.
>
> Also, verifying it against RI (which is alas TopLink Essentials)  
> leads to the same conclusion and it seems that it's only OpenJPA  
> who thinks differently. I wish I could give it a shot with other  
> JPA providers than OpenJPA, TopLink and Hibernate (but would that  
> change anything?).

OK, then read the 4th paragraph of section 3.4.2.  Also, note the  
fact that the TCK doesn't test for exception on merge.  It doesn't  
matter how other implementations work, OpenJPA is completely correct  
according to the spec.

Notice:  This email message, together with any attachments, may contain 
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated 
entities,  that may be confidential,  proprietary,  copyrighted  and/or legally 
privileged, and is intended solely for the use of the individual or entity 
named in this message. If you are not the intended recipient, and have received 
this message in error, please immediately return this by email and then delete 
it.

Reply via email to