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
> 

Reply via email to