Package org.hibernate.dialect.identity
Interface IdentityColumnSupport
-
- All Known Implementing Classes:
AbstractTransactSQLIdentityColumnSupport,CockroachDBIdentityColumnSupport,DB2390IdentityColumnSupport,DB2IdentityColumnSupport,DB2zIdentityColumnSupport,H2FinalTableIdentityColumnSupport,H2IdentityColumnSupport,HANAIdentityColumnSupport,HSQLIdentityColumnSupport,IdentityColumnSupportImpl,MariaDBIdentityColumnSupport,MySQLIdentityColumnSupport,Oracle12cIdentityColumnSupport,PostgreSQLIdentityColumnSupport,SQLServerIdentityColumnSupport,SybaseJconnIdentityColumnSupport
public interface IdentityColumnSupportA set of operations providing support for identity columns in a certainSQL dialect.- Since:
- 5.1
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description StringappendIdentitySelectToInsert(String insertString)Deprecated, for removal: This API element is subject to removal in a future version.UseappendIdentitySelectToInsert(String, String)instead.default StringappendIdentitySelectToInsert(String identityColumnName, String insertString)Provided wesupportsInsertSelectIdentity(), then attach the "select identity" clause to the insert statement.default GetGeneratedKeysDelegatebuildGetGeneratedKeysDelegate(PostInsertIdentityPersister persister, Dialect dialect)Deprecated, for removal: This API element is subject to removal in a future version.UsebuildGetGeneratedKeysDelegate(EntityPersister)instead.GetGeneratedKeysDelegatebuildGetGeneratedKeysDelegate(EntityPersister persister)The delegate for dealing withIDENTITYcolumns usingStatement.getGeneratedKeys().StringgetIdentityColumnString(int type)The syntax used during DDL to define a column as being an IDENTITY of a particular type.StringgetIdentityInsertString()The keyword used to insert a generated value into an identity column (or null).StringgetIdentitySelectString(String table, String column, int type)Get the select command to use to retrieve the last generated IDENTITY value for a particular tablebooleanhasDataTypeInIdentityColumn()Whether this dialect have an Identity clause added to the data type or a completely separate identity data typedefault booleanhasIdentityInsertKeyword()Is there a keyword used to insert a generated value into an identity column.booleansupportsIdentityColumns()Does this dialect support identity column key generation?booleansupportsInsertSelectIdentity()Does the dialect support some form of inserting and selecting the generated IDENTITY value all in the same statement.
-
-
-
Method Detail
-
supportsIdentityColumns
boolean supportsIdentityColumns()
Does this dialect support identity column key generation?- Returns:
- True if IDENTITY columns are supported; false otherwise.
-
supportsInsertSelectIdentity
boolean supportsInsertSelectIdentity()
Does the dialect support some form of inserting and selecting the generated IDENTITY value all in the same statement.- Returns:
- True if the dialect supports selecting the just generated IDENTITY in the insert statement.
-
hasDataTypeInIdentityColumn
boolean hasDataTypeInIdentityColumn()
Whether this dialect have an Identity clause added to the data type or a completely separate identity data type- Returns:
- boolean
-
appendIdentitySelectToInsert
@Deprecated(forRemoval=true, since="6.5") String appendIdentitySelectToInsert(String insertString)
Deprecated, for removal: This API element is subject to removal in a future version.UseappendIdentitySelectToInsert(String, String)instead.Provided wesupportsInsertSelectIdentity(), then attach the "select identity" clause to the insert statement.Note, if
supportsInsertSelectIdentity()== false then the insert-string should be returned without modification.- Parameters:
insertString- The insert command- Returns:
- The insert command with any necessary identity select clause attached.
-
appendIdentitySelectToInsert
default String appendIdentitySelectToInsert(String identityColumnName, String insertString)
Provided wesupportsInsertSelectIdentity(), then attach the "select identity" clause to the insert statement.Note, if
supportsInsertSelectIdentity()== false then the insert-string should be returned without modification.- Parameters:
identityColumnName- The name of the identity columninsertString- The insert command- Returns:
- The insert command with any necessary identity select clause attached.
-
getIdentitySelectString
String getIdentitySelectString(String table, String column, int type) throws MappingException
Get the select command to use to retrieve the last generated IDENTITY value for a particular table- Parameters:
table- The table into which the insert was donecolumn- The PK column.type- TheTypestype code.- Returns:
- The appropriate select command
- Throws:
MappingException- If IDENTITY generation is not supported.
-
getIdentityColumnString
String getIdentityColumnString(int type) throws MappingException
The syntax used during DDL to define a column as being an IDENTITY of a particular type.- Parameters:
type- TheTypestype code.- Returns:
- The appropriate DDL fragment.
- Throws:
MappingException- If IDENTITY generation is not supported.
-
getIdentityInsertString
String getIdentityInsertString()
The keyword used to insert a generated value into an identity column (or null). Need if the dialect does not support inserts that specify no column values.- Returns:
- The appropriate keyword.
-
hasIdentityInsertKeyword
default boolean hasIdentityInsertKeyword()
Is there a keyword used to insert a generated value into an identity column.- Returns:
trueif the dialect does not support inserts that specify no column values.
-
buildGetGeneratedKeysDelegate
@Deprecated(forRemoval=true, since="6.5") default GetGeneratedKeysDelegate buildGetGeneratedKeysDelegate(PostInsertIdentityPersister persister, Dialect dialect)
Deprecated, for removal: This API element is subject to removal in a future version.UsebuildGetGeneratedKeysDelegate(EntityPersister)instead.The Delegate for dealing with IDENTITY columns using JDBC3 getGeneratedKeys- Parameters:
persister- The persisterdialect- The dialect against which to generate the delegate- Returns:
- the dialect specific GetGeneratedKeys delegate
-
buildGetGeneratedKeysDelegate
GetGeneratedKeysDelegate buildGetGeneratedKeysDelegate(EntityPersister persister)
The delegate for dealing withIDENTITYcolumns usingStatement.getGeneratedKeys().- Parameters:
persister- The persister- Returns:
- the dialect-specific
GetGeneratedKeysDelegate
-
-