Hi Artem, > In fact I am interested in second scenario.
> > 1. open transaction > 2. perform main sql INSERT (db assign PK for new record) > 3. perform callback operation (newly generated PK is accessible ) > 4. close transaction Sure. Here is how to do it with CommitLogModule: ServerRuntime.builder() .addModule(CommitLogModule.extend().addListener(MyCommitLogListener.class).module()) public class MyCommitLogListener implements CommitLogListener { public void onPostCommit(ObjectContext originatingContext, ChangeMap changes) { // Here put the code for step #3. // ChangeMap should have all the info on changed objects... } } > On Dec 27, 2019, at 12:23 PM, Artem Kravchenko <akravche...@objectstyle.com> > wrote: > > Hello Andrus > Thanks for your replay. > > Not sure how it works butfor example: > I need to insert some Entity and on @PostPersist get the PK of this record. > So the question is: > > will 'insertBefore' collect all changes (main commit and callback) first and > then apply bulk SQL (inserts/updates) > > or > > 1. open transaction > 2. perform main sql INSERT (db assign PK for new record) > 3. perform callback operation (newly generated PK is accessible ) > 4. close transaction > > In fact I am interested in second scenario > first one doesn't fit for us >