Interface ForeignKeySupport

All Known Implementing Classes:
AbstractSybaseDialect, AbstractTransactSQLDialect, AzureSQLServerDialect, CockroachDB202SpatialDialect, CockroachDialect, DB2Dialect, DB2iDialect, DB2SpatialDialect, DB2zDialect, Dialect, GenericDialect, H2Dialect, HANADialect, HANASpatialDialect, HSQLDialect, MariaDBDialect, MySQL56InnoDBSpatialDialect, MySQL56SpatialDialect, MySQL5InnoDBSpatialDialect, MySQL5SpatialDialect, MySQLDialect, MySQLSpatialDialect, OracleDialect, OracleSpatial10gDialect, OracleSpatialSDO10gDialect, PostgisPG10Dialect, PostgisPG93Dialect, PostgisPG94Dialect, PostgisPG95Dialect, PostgresPlusDialect, PostgreSQLDialect, SpannerDialect, SpannerPostgreSQLDialect, SQLServerDialect, SqlServerSpatialDialect, SybaseASEDialect, SybaseDialect

@SPI({USE,IMPLEMENT,SUPPLY}) public interface ForeignKeySupport

Defines database support for foreign-key DDL and delete semantics.

Implement this strategy when a database changes the add/drop grammar, supports only selected on delete actions, suppresses post-creation foreign keys, or requires self-referential keys to be nullified before deletion. Returned fragments contain no leading or trailing whitespace.

Since:
8.0
See Also:
  • Method Details

    • supportsAlterTableConstraints

      default boolean supportsAlterTableConstraints()
    • renderAddConstraint

      default String renderAddConstraint(ForeignKeyConstraintRequest request)
    • renderDropConstraint

      default String renderDropConstraint(ForeignKeyDropRequest request)
    • supportsOnDeleteAction

      default boolean supportsOnDeleteAction(OnDeleteAction action)
    • requiresSelfReferentialForeignKeyNullification

      default boolean requiresSelfReferentialForeignKeyNullification()