Class SAPDBDialect

java.lang.Object
org.hibernate.dialect.Dialect
org.hibernate.dialect.SAPDBDialect

public class SAPDBDialect extends Dialect
An SQL dialect compatible with SAP DB.
  • Constructor Details

    • SAPDBDialect

      public SAPDBDialect()
  • Method Details

    • dropConstraints

      public boolean dropConstraints()
      Description copied from class: Dialect
      Do we need to drop constraints before dropping tables in this dialect?
      Overrides:
      dropConstraints in class Dialect
      Returns:
      True if constraints must be dropped prior to dropping the table; false otherwise.
    • getAddColumnString

      public String getAddColumnString()
      Description copied from class: Dialect
      The syntax used to add a column to a table (optional).
      Overrides:
      getAddColumnString in class Dialect
      Returns:
      The "add column" fragment.
    • getAddForeignKeyConstraintString

      public String getAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable, String[] primaryKey, boolean referencesPrimaryKey)
      Description copied from class: Dialect
      The syntax used to add a foreign key constraint to a table.
      Overrides:
      getAddForeignKeyConstraintString in class Dialect
      Parameters:
      constraintName - The FK constraint name.
      foreignKey - The names of the columns comprising the FK
      referencedTable - The table referenced by the FK
      primaryKey - The explicit columns in the referencedTable referenced by this FK.
      referencesPrimaryKey - if false, constraint should be explicit about which column names the constraint refers to
      Returns:
      the "add FK" fragment
    • getAddPrimaryKeyConstraintString

      public String getAddPrimaryKeyConstraintString(String constraintName)
      Description copied from class: Dialect
      The syntax used to add a primary key constraint to a table.
      Overrides:
      getAddPrimaryKeyConstraintString in class Dialect
      Parameters:
      constraintName - The name of the PK constraint.
      Returns:
      The "add PK" fragment
    • getNullColumnString

      public String getNullColumnString()
      Description copied from class: Dialect
      The keyword used to specify a nullable column.
      Overrides:
      getNullColumnString in class Dialect
      Returns:
      String
    • getSequenceNextValString

      public String getSequenceNextValString(String sequenceName)
      Description copied from class: Dialect
      Generate the appropriate select statement to to retrieve the next value of a sequence.

      This should be a "stand alone" select statement.

      Overrides:
      getSequenceNextValString in class Dialect
      Parameters:
      sequenceName - the name of the sequence
      Returns:
      String The "nextval" select string.
    • getSelectSequenceNextValString

      public String getSelectSequenceNextValString(String sequenceName)
      Description copied from class: Dialect
      Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.

      This differs from Dialect.getSequenceNextValString(String) in that this should return an expression usable within another statement.

      Overrides:
      getSelectSequenceNextValString in class Dialect
      Parameters:
      sequenceName - the name of the sequence
      Returns:
      The "nextval" fragment.
    • getCreateSequenceString

      public String getCreateSequenceString(String sequenceName)
      Description copied from class: Dialect
      Typically dialects which support sequences can create a sequence with a single command. This is convenience form of Dialect.getCreateSequenceStrings(java.lang.String) to help facilitate that.

      Dialects which support sequences and can create a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to create a sequence should instead override Dialect.getCreateSequenceStrings(java.lang.String).

      Overrides:
      getCreateSequenceString in class Dialect
      Parameters:
      sequenceName - The name of the sequence
      Returns:
      The sequence creation command
    • getDropSequenceString

      public String getDropSequenceString(String sequenceName)
      Description copied from class: Dialect
      Typically dialects which support sequences can drop a sequence with a single command. This is convenience form of Dialect.getDropSequenceStrings(java.lang.String) to help facilitate that.

      Dialects which support sequences and can drop a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to drop a sequence should instead override Dialect.getDropSequenceStrings(java.lang.String).

      Overrides:
      getDropSequenceString in class Dialect
      Parameters:
      sequenceName - The name of the sequence
      Returns:
      The sequence drop commands
    • getQuerySequencesString

      public String getQuerySequencesString()
      Description copied from class: Dialect
      Get the select command used retrieve the names of all sequences.
      Overrides:
      getQuerySequencesString in class Dialect
      Returns:
      The select command; or null if sequences are not supported.
      See Also:
    • supportsSequences

      public boolean supportsSequences()
      Description copied from class: Dialect
      Does this dialect support sequences?
      Overrides:
      supportsSequences in class Dialect
      Returns:
      True if sequences supported; false otherwise.
    • createCaseFragment

      public CaseFragment createCaseFragment()
      Description copied from class: Dialect
      Create a CaseFragment strategy responsible for handling this dialect's variations in how CASE statements are handled.
      Overrides:
      createCaseFragment in class Dialect
      Returns:
      This dialect's CaseFragment strategy.
    • supportsTemporaryTables

      public boolean supportsTemporaryTables()
      Description copied from class: Dialect
      Does this dialect support temporary tables?
      Overrides:
      supportsTemporaryTables in class Dialect
      Returns:
      True if temp tables are supported; false otherwise.
    • getCreateTemporaryTablePostfix

      public String getCreateTemporaryTablePostfix()
      Description copied from class: Dialect
      Get any fragments needing to be postfixed to the command for temporary table creation.
      Overrides:
      getCreateTemporaryTablePostfix in class Dialect
      Returns:
      Any required postfix.
    • generateTemporaryTableName

      public String generateTemporaryTableName(String baseTableName)
      Description copied from class: Dialect
      Generate a temporary table name given the base table.
      Overrides:
      generateTemporaryTableName in class Dialect
      Parameters:
      baseTableName - The table name from which to base the temp table name.
      Returns:
      The generated temp table name.