Class UpdateRequest


  • public class UpdateRequest
    extends Request
    Class to provide a means of update of particular fields of a particular type in an RDBMS. Extends basic request class implementing the execute method to do a JDBC update operation. The SQL will be of the form
     UPDATE table-name SET param1=?, param2=?[, version=?] WHERE id1=? AND id2=?
     
    or (when also performing version checks)
     UPDATE table-name SET param1=?, param2=?, version={newvers} WHERE id1=? AND id2=? AND version={oldvers}
     
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.datanucleus.metadata.AbstractClassMetaData cmd
      MetaData for the class.
      protected boolean versionChecks
      Whether we should make checks on optimistic version before updating.
      protected org.datanucleus.metadata.VersionMetaData versionMetaData
      MetaData for the version handling.
      • Fields inherited from class org.datanucleus.store.rdbms.request.Request

        key, table
    • Constructor Summary

      Constructors 
      Constructor Description
      UpdateRequest​(DatastoreClass table, org.datanucleus.metadata.AbstractMemberMetaData[] reqFieldMetaData, org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.ClassLoaderResolver clr)
      Constructor, taking the table.
    • Field Detail

      • cmd

        protected org.datanucleus.metadata.AbstractClassMetaData cmd
        MetaData for the class.
      • versionMetaData

        protected org.datanucleus.metadata.VersionMetaData versionMetaData
        MetaData for the version handling.
      • versionChecks

        protected boolean versionChecks
        Whether we should make checks on optimistic version before updating.
    • Constructor Detail

      • UpdateRequest

        public UpdateRequest​(DatastoreClass table,
                             org.datanucleus.metadata.AbstractMemberMetaData[] reqFieldMetaData,
                             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 update
        reqFieldMetaData - MetaData of the fields to update
        cmd - ClassMetaData of objects being updated
        clr - ClassLoader resolver
    • Method Detail

      • execute

        public void execute​(org.datanucleus.state.DNStateManager sm)
        Method performing the update of the record in the datastore. Takes the constructed update query and populates with the specific record information.
        Specified by:
        execute in class Request
        Parameters:
        sm - StateManager for the record to be updated