Module io.ebean.api

Class DbConstraintNaming


  • public class DbConstraintNaming
    extends Object
    Naming convention used for constraint names.

    Note that these constraint names are trimmed in the PlatformDdl which can be overridden but provides a decent default implementation.

    • Constructor Detail

      • DbConstraintNaming

        public DbConstraintNaming()
        Construct using default of lower case for both table and column names.
      • DbConstraintNaming

        public DbConstraintNaming​(boolean lowerCase)
        Construct specifying if lower case should be used (for both table and column names).
      • DbConstraintNaming

        public DbConstraintNaming​(boolean lowerCaseTableNames,
                                  boolean lowerCaseColumnNames)
        Construct specifying if lower case should be used for both table and column names.
    • Method Detail

      • getMaxLength

        public DbConstraintNaming.MaxLength getMaxLength()
        Return the MaxLength implementation used to truncate/shorten db constraint names as necessary.
      • setMaxLength

        public void setMaxLength​(DbConstraintNaming.MaxLength maxLength)
        Set the MaxLength implementation used to truncate/shorten db constraint names as necessary.
      • primaryKeyName

        public String primaryKeyName​(String tableName)
        Return the primary key constraint name.
      • foreignKeyConstraintName

        public String foreignKeyConstraintName​(String tableName,
                                               String columnName)
        Return the foreign key constraint name given a single column foreign key.
      • foreignKeyIndexName

        public String foreignKeyIndexName​(String tableName,
                                          String[] columns)
        Return the index name associated with a foreign key constraint given multiple columns.
      • foreignKeyIndexName

        public String foreignKeyIndexName​(String tableName,
                                          String column)
        Return the index name associated with a foreign key constraint given a single column foreign key.
      • indexName

        public String indexName​(String tableName,
                                String column)
        Return the index name for a general index (not associated with a foreign key).
      • indexName

        public String indexName​(String tableName,
                                String[] columns)
        Return the index name for a general index (not associated with a foreign key).
      • joinColumnNames

        protected String joinColumnNames​(String[] columns)
        Join the column names together with underscores.
      • uniqueConstraintName

        public String uniqueConstraintName​(String tableName,
                                           String columnName)
        Return the unique constraint name.
      • uniqueConstraintName

        public String uniqueConstraintName​(String tableName,
                                           String[] columns)
        Return the unique constraint name.
      • checkConstraintName

        public String checkConstraintName​(String tableName,
                                          String columnName)
        Return the check constraint name.
      • normaliseTable

        public String normaliseTable​(String tableName)
        Normalise the table name by trimming catalog and schema and removing any quoted identifier characters (",',[,] etc).
      • normaliseColumn

        public String normaliseColumn​(String tableName)
        Normalise the column name by removing any quoted identifier characters (",',[,] etc).