package io.ebeaninternal.server.persist; import io.ebeaninternal.api.SpiTransaction; import io.ebeaninternal.server.core.PersistRequestCallableSql; import io.ebeaninternal.server.core.PersistRequestOrmUpdate; import io.ebeaninternal.server.core.PersistRequestUpdateSql; /** * The actual execution of persist requests. * <p> * A Persister 'front-ends' this object and handles the * batching, cascading, concurrency mode detection etc. * </p> */ public interface PersistExecute { /** * Create a BatchControl for the current transaction. */ BatchControl createBatchControl(SpiTransaction t); /** * Execute a Update. */ int executeOrmUpdate(PersistRequestOrmUpdate request); /** * Execute a CallableSql. */ int executeSqlCallable(PersistRequestCallableSql request); /** * Execute a UpdateSql. */ int executeSqlUpdate(PersistRequestUpdateSql request); }