Package org.hibernate.id
Class AbstractPostInsertGenerator
- java.lang.Object
-
- org.hibernate.id.AbstractPostInsertGenerator
-
- All Implemented Interfaces:
BulkInsertionCapableIdentifierGenerator
,IdentifierGenerator
,PostInsertIdentifierGenerator
- Direct Known Subclasses:
IdentityGenerator
,SelectGenerator
public abstract class AbstractPostInsertGenerator extends Object implements PostInsertIdentifierGenerator, BulkInsertionCapableIdentifierGenerator
Basic implementation of thePostInsertIdentifierGenerator
contract.
-
-
Field Summary
-
Fields inherited from interface org.hibernate.id.IdentifierGenerator
ENTITY_NAME, GENERATOR_NAME, JPA_ENTITY_NAME
-
-
Constructor Summary
Constructors Constructor Description AbstractPostInsertGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
determineBulkInsertionIdentifierGenerationSelectFragment(Dialect dialect)
Return the select expression fragment, if any, that generates the identifier values.Serializable
generate(SharedSessionContractImplementor s, Object obj)
Generate a new identifier.boolean
supportsBulkInsertionIdentifierGeneration()
Given the configuration of this generator, is identifier generation as part of bulk insertion supported?boolean
supportsJdbcBatchInserts()
Check if JDBC batch inserts are supported.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.id.PostInsertIdentifierGenerator
getInsertGeneratedIdentifierDelegate
-
-
-
-
Method Detail
-
generate
public Serializable generate(SharedSessionContractImplementor s, Object obj)
Description copied from interface:IdentifierGenerator
Generate a new identifier.- Specified by:
generate
in interfaceIdentifierGenerator
- Parameters:
s
- The session from which the request originatesobj
- the entity or collection (idbag) for which the id is being generated- Returns:
- a new identifier
-
supportsBulkInsertionIdentifierGeneration
public boolean supportsBulkInsertionIdentifierGeneration()
Description copied from interface:BulkInsertionCapableIdentifierGenerator
Given the configuration of this generator, is identifier generation as part of bulk insertion supported? IMPL NOTE : Mainly here to allow stuff like SequenceStyleGenerator which *can* support this based on configuration- Specified by:
supportsBulkInsertionIdentifierGeneration
in interfaceBulkInsertionCapableIdentifierGenerator
- Returns:
true
if bulk insertions are supported;false
otherwise.
-
determineBulkInsertionIdentifierGenerationSelectFragment
public String determineBulkInsertionIdentifierGenerationSelectFragment(Dialect dialect)
Description copied from interface:BulkInsertionCapableIdentifierGenerator
Return the select expression fragment, if any, that generates the identifier values.- Specified by:
determineBulkInsertionIdentifierGenerationSelectFragment
in interfaceBulkInsertionCapableIdentifierGenerator
- Parameters:
dialect
- The dialect against which the insert will be performed.- Returns:
- The identifier value generation fragment (SQL).
null
indicates that no fragment is needed.
-
supportsJdbcBatchInserts
public boolean supportsJdbcBatchInserts()
Description copied from interface:IdentifierGenerator
Check if JDBC batch inserts are supported.- Specified by:
supportsJdbcBatchInserts
in interfaceIdentifierGenerator
- Returns:
- JDBC batch inserts are supported.
-
-