Package org.hibernate.id
Class IdentifierGeneratorHelper
- java.lang.Object
-
- org.hibernate.id.IdentifierGeneratorHelper
-
public final class IdentifierGeneratorHelper extends Object
Factory and helper methods forIdentifierGeneratorframework.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classIdentifierGeneratorHelper.BasicHolderstatic classIdentifierGeneratorHelper.BigDecimalHolderstatic classIdentifierGeneratorHelper.BigIntegerHolder
-
Field Summary
Fields Modifier and Type Field Description static SerializablePOST_INSERT_INDICATORMarker object returned fromIdentifierGenerator.generate(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object)to indicate that the entity's identifier will be generated as part of the database insertion.static SerializableSHORT_CIRCUIT_INDICATORMarker object returned fromIdentifierGenerator.generate(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object)to indicate that we should short-circuit any continued generated id checking.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static NumbercreateNumber(long value, Class clazz)Deprecated.Use theholdersinstead.static BigDecimalextractBigDecimal(IntegralDataTypeHolder holder)static BigIntegerextractBigInteger(IntegralDataTypeHolder holder)static longextractLong(IntegralDataTypeHolder holder)static Serializableget(ResultSet rs, String identifier, Type type, Dialect dialect)Extract the value from the result set (which is assumed to already have been positioned to the appropriate row) and wrp it in the appropriate Java numeric type.static SerializablegetGeneratedIdentity(ResultSet rs, String identifier, Type type, Dialect dialect)Get the generated identifier when using identity columnsstatic IntegralDataTypeHoldergetIntegralDataTypeHolder(Class integralType)
-
-
-
Field Detail
-
SHORT_CIRCUIT_INDICATOR
public static final Serializable SHORT_CIRCUIT_INDICATOR
Marker object returned fromIdentifierGenerator.generate(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object)to indicate that we should short-circuit any continued generated id checking. Currently this is only used in the case of theforeigngenerator as a way to signal that we should use the associated entity's id value.
-
POST_INSERT_INDICATOR
public static final Serializable POST_INSERT_INDICATOR
Marker object returned fromIdentifierGenerator.generate(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object)to indicate that the entity's identifier will be generated as part of the database insertion.
-
-
Method Detail
-
getGeneratedIdentity
public static Serializable getGeneratedIdentity(ResultSet rs, String identifier, Type type, Dialect dialect) throws SQLException, HibernateException
Get the generated identifier when using identity columns- Parameters:
rs- The result set from which to extract the the generated identity.identifier- The name of the identifier columntype- The expected type mapping for the identity value.dialect- The current database dialect.- Returns:
- The generated identity value
- Throws:
SQLException- Can be thrown while accessing the result setHibernateException- Indicates a problem reading back a generated identity value.
-
get
public static Serializable get(ResultSet rs, String identifier, Type type, Dialect dialect) throws SQLException, IdentifierGenerationException
Extract the value from the result set (which is assumed to already have been positioned to the appropriate row) and wrp it in the appropriate Java numeric type.- Parameters:
rs- The result set from which to extract the value.identifier- The name of the identifier columntype- The expected type of the value.dialect- The current database dialect.- Returns:
- The extracted value.
- Throws:
SQLException- Indicates problems access the result setIdentifierGenerationException- Indicates an unknown type.
-
createNumber
@Deprecated public static Number createNumber(long value, Class clazz) throws IdentifierGenerationException
Deprecated.Use theholdersinstead.Wrap the given value in the given Java numeric class.- Parameters:
value- The primitive value to wrap.clazz- The Java numeric type in which to wrap the value.- Returns:
- The wrapped type.
- Throws:
IdentifierGenerationException- Indicates an unhandled 'clazz'.
-
getIntegralDataTypeHolder
public static IntegralDataTypeHolder getIntegralDataTypeHolder(Class integralType)
-
extractLong
public static long extractLong(IntegralDataTypeHolder holder)
-
extractBigInteger
public static BigInteger extractBigInteger(IntegralDataTypeHolder holder)
-
extractBigDecimal
public static BigDecimal extractBigDecimal(IntegralDataTypeHolder holder)
-
-