I'm glad to report that I have found a solution - by calling em.flush() and em.clear() between remove() and persist() operations as follows:
-- View this message in context: http://openjpa.208410.n2.nabble.com/remove-followed-by-persist-inside-transaction-breaking-unique-constraint-tp7252489p7270712.html Sent from the OpenJPA Users mailing list archive at Nabble.com.