com.avaje.ebeaninternal.server.persist.PersistExecute Maven / Gradle / Ivy
package com.avaje.ebeaninternal.server.persist;
import com.avaje.ebeaninternal.api.SpiTransaction;
import com.avaje.ebeaninternal.server.core.PersistRequestBean;
import com.avaje.ebeaninternal.server.core.PersistRequestCallableSql;
import com.avaje.ebeaninternal.server.core.PersistRequestOrmUpdate;
import com.avaje.ebeaninternal.server.core.PersistRequestUpdateSql;
/**
* The actual execution of persist requests.
*
* A Persister 'front-ends' this object and handles the
* batching, cascading, concurrency mode detection etc.
*
*/
public interface PersistExecute {
/**
* Create a BatchControl for the current transaction.
*/
BatchControl createBatchControl(SpiTransaction t);
/**
* Execute a Bean (or MapBean) insert.
*/
void executeInsertBean(PersistRequestBean request);
/**
* Execute a Bean (or MapBean) update.
*/
void executeUpdateBean(PersistRequestBean request);
/**
* Execute a Bean (or MapBean) delete.
*/
int executeDeleteBean(PersistRequestBean request);
/**
* Execute a Update.
*/
int executeOrmUpdate(PersistRequestOrmUpdate request);
/**
* Execute a CallableSql.
*/
int executeSqlCallable(PersistRequestCallableSql request);
/**
* Execute a UpdateSql.
*/
int executeSqlUpdate(PersistRequestUpdateSql request);
}