UniqueDelegate that only creates unique constraints on not-null columns, and ignores requests for
uniqueness for nullable columns.
Needed because unique constraints on nullable columns in Sybase always consider null values to be non-unique. There is simply no way to create a unique constraint with the semantics we want on a nullable column in Sybase.
You might argue that this behavior is bad because if the programmer explicitly specifies an @UniqueKey,
then we should damn well respect their wishes. But the simple answer is that the user should have also specified
@Column(nullable=false) if that is what they wanted. A unique key on a nullable column just really doesn't
make sense in Sybase, except, perhaps, in some incredibly corner cases.
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected void | appendUniqueConstraint(StringBuilder fragment, UniqueKey uniqueKey)
Overrides org. |
| public String | getAlterTableToAddUniqueKeyCommand(UniqueKey
The uniqueKey, Metadata UniqueKey instance. Contains all information about the columnsAccess to the bootstrap mapping information metadata, SqlStringGenerationContext A context for SQL string generation context)Overrides org. Implements org.
Deprecated
as a consequence of
Get the Metadata being deprecated.
alter table command used to create the given unique key
constraint, or return the empty string if the constraint was already included in the create table statement by getTableCreationUniqueConstraintsFragment.
|
| public String | getAlterTableToDropUniqueKeyCommand(UniqueKey
The uniqueKey, Metadata UniqueKey instance. Contains all information about the columnsAccess to the bootstrap mapping information metadata, SqlStringGenerationContext A context for SQL string generation context)Overrides org. Implements org.
Deprecated
as a consequence of
Get the Metadata being deprecated.
alter table command used to drop the given unique key
which was previously created by getAlterTableToAddUniqueKeyCommand.
|
| public String | getColumnDefinitionUniquenessFragment(Column
The column to which to apply the unique column, SqlStringGenerationContext A context for SQL string generation context)Overrides org. Implements org. " unique", or return an empty string if uniqueness does not belong in
the column definition.
|
| SkipNullableUniqueDelegate | back to summary |
|---|---|
| public SkipNullableUniqueDelegate(Dialect dialect) | |
| appendUniqueConstraint | back to summary |
|---|---|
| protected void appendUniqueConstraint(StringBuilder fragment, UniqueKey uniqueKey) Overrides org.
| |
| getAlterTableToAddUniqueKeyCommand | back to summary |
|---|---|
| public String getAlterTableToAddUniqueKeyCommand(UniqueKey uniqueKey, Metadata metadata, SqlStringGenerationContext context) Overrides org. Implements org. Doc from org. Deprecated as a consequence of Get the | |
| getAlterTableToDropUniqueKeyCommand | back to summary |
|---|---|
| public String getAlterTableToDropUniqueKeyCommand(UniqueKey uniqueKey, Metadata metadata, SqlStringGenerationContext context) Overrides org. Implements org. Doc from org. Deprecated as a consequence of Get the | |
| getColumnDefinitionUniquenessFragment | back to summary |
|---|---|
| public String getColumnDefinitionUniquenessFragment(Column column, SqlStringGenerationContext context) Overrides org. Implements org. Doc from org. Get the SQL fragment used to make the given column unique as part of its column definition,
usually just This is for handling single columns explicitly marked unique, not for dealing with unique keys.
| |