Class InsertRequest
- java.lang.Object
-
- org.datanucleus.store.rdbms.request.Request
-
- org.datanucleus.store.rdbms.request.InsertRequest
-
public class InsertRequest extends Request
Class to provide a means of insertion of records to RDBMS. Extends basic request class implementing the execute method to do a JDBC insert operation. The SQL will be of the formINSERT INTO TBL_NAME (col1, col2, col3, ...) VALUES (?, ?, ?, ...)
When inserting an object with inheritance this will involve 1 InsertRequest for each table involved. So if we have a class B that extends class A and they both use "new-table" inheritance strategy, we will have 2 InsertRequests, one for table A, and one for table B.
When the InsertRequest starts to populate its statement and it has a PC field, this calls PersistableMapping.setObject(). This then checks if the other PC object is yet persistent and, if not, will persist it before processing this objects INSERT. This forms the key to "persistence-by-reachability".
-
-
Constructor Summary
Constructors Constructor Description InsertRequest(DatastoreClass table, org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.ClassLoaderResolver clr)
Constructor, taking the table.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(org.datanucleus.state.DNStateManager sm)
Method performing the insertion of the record from the datastore.
-
-
-
Constructor Detail
-
InsertRequest
public InsertRequest(DatastoreClass table, org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.ClassLoaderResolver clr)
Constructor, taking the table. Uses the structure of the datastore table to build a basic query.- Parameters:
table
- The Class Table representing the datastore table to insert.cmd
- ClassMetaData for the object being persistedclr
- ClassLoader resolver
-
-