Class TableJDBCSeq

    • Constructor Detail

      • TableJDBCSeq

        public TableJDBCSeq()
    • Method Detail

      • getTable

        public java.lang.String getTable()
        The sequence table name. Defaults to OPENJPA_SEQUENCE_TABLE. By default, the table will be placed in the first schema listed in your openjpa.jdbc.Schemas property, or in the default schema if the property is not given. If you specify a table name in the form <schema>.<table>, then the given schema will be used.
      • setTable

        public void setTable​(java.lang.String name)
        The sequence table name. Defaults to OPENJPA_SEQUENCE_TABLE. By default, the table will be placed in the first schema listed in your openjpa.jdbc.Schemas property, or in the default schema if the property is not given. If you specify a table name in the form <schema>.<table>, then the given schema will be used.
      • setTableName

        @Deprecated
        public void setTableName​(java.lang.String name)
        Deprecated.
        Use setTable(java.lang.String). Retained for backwards-compatibility with auto-configuration.
      • getSequenceColumn

        public java.lang.String getSequenceColumn()
        The name of the column that holds the sequence value. Defaults to SEQUENCE_VALUE.
      • setSequenceColumn

        public void setSequenceColumn​(java.lang.String sequenceColumn)
        The name of the column that holds the sequence value. Defaults to SEQUENCE_VALUE.
      • getPrimaryKeyColumn

        public java.lang.String getPrimaryKeyColumn()
        The name of the table's primary key column. Defaults to ID.
      • getPrimaryKeyColumnIdentifier

        public DBIdentifier getPrimaryKeyColumnIdentifier()
      • setPrimaryKeyColumn

        public void setPrimaryKeyColumn​(java.lang.String primaryKeyColumn)
        The name of the table's primary key column. Defaults to ID.
      • getAllocate

        public int getAllocate()
        Return the number of sequences to allocate for each update of the sequence table. Sequence numbers will be grabbed in blocks of this value to reduce the number of transactions that must be performed on the sequence table.
      • setAllocate

        public void setAllocate​(int alloc)
        Return the number of sequences to allocate for each update of the sequence table. Sequence numbers will be grabbed in blocks of this value to reduce the number of transactions that must be performed on the sequence table.
      • getInitialValue

        public int getInitialValue()
        Return the number as the initial number for the GeneratedValue.TABLE strategy to start with.
        Returns:
        an initial number
      • setInitialValue

        public void setInitialValue​(int intValue)
        Set the initial number in the table for the GeneratedValue.TABLE strategy to use as initial number.
        Parameters:
        intValue - . The initial number
      • setUniqueColumns

        public void setUniqueColumns​(java.lang.String columnNames)
        Sets the names of the columns on which a unique constraint is set.
        Parameters:
        columnsNames - are passed as a single String concatenated with a '|' character. This method parses it back to array of Strings.
      • getUniqueColumns

        public java.lang.String getUniqueColumns()
      • setIncrement

        @Deprecated
        public void setIncrement​(int inc)
        Deprecated.
        Use setAllocate(int). Retained for backwards compatibility of auto-configuration.
      • startConfiguration

        public void startConfiguration()
        Description copied from interface: Configurable
        Invoked before bean property configuration is begun on this object.
        Specified by:
        startConfiguration in interface Configurable
      • endConfiguration

        public void endConfiguration()
        Description copied from interface: Configurable
        Invoked upon completion of bean property configuration for this object.
        Specified by:
        endConfiguration in interface Configurable
      • currentInternal

        protected java.lang.Object currentInternal​(JDBCStore store,
                                                   ClassMapping mapping)
                                            throws java.lang.Exception
        Description copied from class: AbstractJDBCSeq
        Return the current sequence object. By default returns the last sequence value used, or null if no sequence values have been requested yet. Default implementation is not threadsafe.
        Overrides:
        currentInternal in class AbstractJDBCSeq
        Throws:
        java.lang.Exception
      • getStatus

        protected TableJDBCSeq.Status getStatus​(ClassMapping mapping)
        Return the appropriate status object for the given class, or null if cannot handle the given class. The mapping may be null.
      • addPrimaryKeyColumn

        protected Column addPrimaryKeyColumn​(Table table)
        Add the primary key column to the given table and return it.
      • getPrimaryKey

        protected java.lang.Object getPrimaryKey​(ClassMapping mapping)
        Return the primary key value for the sequence table for the given class.
      • getSequence

        protected long getSequence​(ClassMapping mapping,
                                   java.sql.Connection conn)
                            throws java.sql.SQLException
        Get the current sequence value.
        Parameters:
        mapping - ClassMapping of the entity whose sequence value will be obtained.
        conn - Connection used issue SQL statements.
        Returns:
        The current sequence value, or SEQUENCE_NOT_FOUND if the sequence could not be found.
        Throws:
        java.sql.SQLException
      • setSequence

        protected boolean setSequence​(ClassMapping mapping,
                                      TableJDBCSeq.Status stat,
                                      int inc,
                                      boolean updateStatSeq,
                                      java.sql.Connection conn)
                               throws java.sql.SQLException
        Grabs the next handful of sequence numbers.
        Returns:
        true if the sequence was updated, false if no sequence row existed for this mapping
        Throws:
        java.sql.SQLException
      • resolveTableName

        @Deprecated
        public java.lang.String resolveTableName​(ClassMapping mapping,
                                                 Table table)
        Deprecated.
        Resolve a fully qualified table name
        Parameters:
        class - mapping to get the schema name
      • resolveTableIdentifier

        public DBIdentifier resolveTableIdentifier​(ClassMapping mapping,
                                                   Table table)
        Resolve a fully qualified table name
        Parameters:
        class - mapping to get the schema name
      • refreshTable

        public void refreshTable()
                          throws java.sql.SQLException
        Creates the sequence table in the DB.
        Throws:
        java.sql.SQLException
      • dropTable

        public void dropTable()
                       throws java.sql.SQLException
        Drops the sequence table in the DB.
        Throws:
        java.sql.SQLException
      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        Usage: java org.apache.openjpa.jdbc.schema.TableJDBCSequence [option]* -action/-a <add | drop | get | set> [value] Where the following options are recognized.
        • -properties/-p <properties file or resource>: The path or resource name of a OpenJPA properties file containing information such as the license key and connection data as outlined in JDBCConfiguration. Optional.
        • -<property name> <property value>: All bean properties of the OpenJPA JDBCConfiguration can be set by using their names and supplying a value. For example: -licenseKey adslfja83r3lkadf
        The various actions are as follows.
        • add: Create the sequence table.
        • drop: Drop the sequence table.
        • get: Print the current sequence value.
        • set: Set the sequence value.
        Throws:
        java.lang.Exception
      • run

        public static boolean run​(JDBCConfiguration conf,
                                  java.lang.String[] args,
                                  Options opts)
                           throws java.lang.Exception
        Run the tool. Returns false if invalid options were given.
        Throws:
        java.lang.Exception
      • run

        public static boolean run​(JDBCConfiguration conf,
                                  java.lang.String[] args,
                                  java.lang.String action)
                           throws java.lang.Exception
        Run the tool. Return false if an invalid option was given.
        Throws:
        java.lang.Exception
      • prepareStatement

        protected java.sql.PreparedStatement prepareStatement​(java.sql.Connection conn,
                                                              SQLBuffer buf)
                                                       throws java.sql.SQLException
        This method is to provide override for non-JDBC or JDBC-like implementation of preparing statement.
        Throws:
        java.sql.SQLException
      • executeUpdate

        protected int executeUpdate​(JDBCConfiguration conf,
                                    java.sql.Connection conn,
                                    java.sql.PreparedStatement stmnt,
                                    SQLBuffer buf,
                                    int opcode)
                             throws java.sql.SQLException
        This method is to provide override for non-JDBC or JDBC-like implementation of executing update.
        Throws:
        java.sql.SQLException
      • executeQuery

        protected java.sql.ResultSet executeQuery​(JDBCConfiguration conf,
                                                  java.sql.Connection conn,
                                                  java.sql.PreparedStatement stmnt,
                                                  SQLBuffer buf)
                                           throws java.sql.SQLException
        This method is to provide override for non-JDBC or JDBC-like implementation of executing query.
        Throws:
        java.sql.SQLException
      • getSequence

        protected long getSequence​(java.sql.ResultSet rs,
                                   DBDictionary dict)
                            throws java.sql.SQLException
        This method is to provide override for non-JDBC or JDBC-like implementation of getting sequence from the result set.
        Throws:
        java.sql.SQLException
      • setUniqueConstraintName

        public void setUniqueConstraintName​(java.lang.String uniqueConstraintName)
      • setUniqueConstraintName

        public void setUniqueConstraintName​(DBIdentifier uniqueConstraintName)
      • getUniqueConstraintName

        public java.lang.String getUniqueConstraintName()
      • getUniqueConstraintIdentifier

        public DBIdentifier getUniqueConstraintIdentifier()