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
> 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
>