On 19/12/19 1:18am, Artem Kravchenko wrote:
So the problem which I faced with: the commits (main one and
subsequent from listener) are two different jdbs transaction, which is
reasonable in fact. But in such case the data consistency is not
guaranteed - second commit might be failed. It is really important for me.
At first glance, I cannot understand why wrapping them in a single
transaction would not be the default behaviour here. Adding records in
@PostPersist is likely something like:
* audit records to track changes
* financial transactional data (eg writing to a general ledger when
invoice is created)
* updating denormalised data (eg. contact.owing) which might be done for
search or performance reasons.
In each case I can think of, rolling back the whole transaction would be
a more appropriate behaviour in case of failure.
Cheers
Ari