I have the following case where attachDirty saveOrUpdate() always tries to persist the entities when the transactional annotated method is called in burst.
Is there a way to avoid this primary key constraint violation exception? I thought that saveOrUpdate() would persist if the entity is not yet created and update it otherwise.
I used this ..orUpdate() instead of persist() as a way to handle these bursts.
There is no data corruption actually. Because the first saveOrUpdate() does save 1 record for each entity as desired. The other persists are rejected by the database because of the primary key constraint violation.
I researched about optimistic and pessimistic locking. I understood that these work after fetching an already existing record. Here the entities are new, not existing.
How to approach this in a better way?
