Class AbstractNamingConvention

    • Constructor Detail

      • AbstractNamingConvention

        public AbstractNamingConvention​(String sequenceFormat,
                                        boolean useForeignKeyPrefix)
        Construct with a sequence format and useForeignKeyPrefix setting.
      • AbstractNamingConvention

        public AbstractNamingConvention​(String sequenceFormat)
        Construct with a sequence format.
        Parameters:
        sequenceFormat - the sequence format
      • AbstractNamingConvention

        public AbstractNamingConvention()
        Construct with the default sequence format ("{table}_seq") and useForeignKeyPrefix as true.
    • Method Detail

      • setDatabasePlatform

        public void setDatabasePlatform​(DatabasePlatform databasePlatform)
        Description copied from interface: NamingConvention
        Set the associated DatabasePlaform.

        This is set after the DatabasePlatform has been associated.

        The purpose of this is to enable NamingConvention to be able to support database platform specific configuration.

        Specified by:
        setDatabasePlatform in interface NamingConvention
        Parameters:
        databasePlatform - the database platform
      • getSequenceName

        public String getSequenceName​(String rawTableName,
                                      String pkColumn)
        Description copied from interface: NamingConvention
        Return the sequence name given the table name (for DB's that use sequences).

        Typically you might append "_seq" to the table name as an example.

        Specified by:
        getSequenceName in interface NamingConvention
        Parameters:
        rawTableName - the table name
        Returns:
        the sequence name
      • setSequenceFormat

        public void setSequenceFormat​(String sequenceFormat)
        Set the sequence format used to generate the sequence name.

        The format should include "{table}". When generating the sequence name {table} is replaced with the actual table name.

        Parameters:
        sequenceFormat - string containing "{table}" which is replaced with the actual table name to generate the sequence name.
      • isUseForeignKeyPrefix

        public boolean isUseForeignKeyPrefix()
        Return true if a prefix should be used building a foreign key name.

        This by default is true and this works well when the primary key column names are simply "ID". In this case a prefix (such as "ORDER" and "CUSTOMER" etc) is added to the foreign key column producing "ORDER_ID" and "CUSTOMER_ID".

        This should return false when your primary key columns are the same as the foreign key columns. For example, when the primary key columns are "ORDER_ID", "CUST_ID" etc ... and they are the same as the foreign key column names.

        Specified by:
        isUseForeignKeyPrefix in interface NamingConvention
      • setUseForeignKeyPrefix

        public void setUseForeignKeyPrefix​(boolean useForeignKeyPrefix)
        Set this to false when the primary key columns matching your foreign key columns.