ENTITY - The type of the class being persisted.BUILDER - The type of the class that can construct new ENTITY instances.public class IndirectPrimaryKey<ENTITY,BUILDER> extends Object implements PrimaryKey<ENTITY,BUILDER>
Most users of hrorm will have no need to directly use this.
| Constructor and Description |
|---|
IndirectPrimaryKey(String prefix,
String name,
String sequenceName,
Function<ENTITY,Long> getter,
BiConsumer<BUILDER,Long> setter) |
| Modifier and Type | Method and Description |
|---|---|
GenericColumn<Long> |
asGenericColumn()
Returns a generic column instance that supports the underlying
DBTYPE |
Long |
getKey(ENTITY item)
Reads the value of the primary key from the passed entity object.
|
String |
getName()
The name of the database column this instance represents.
|
String |
getPrefix()
The prefix that should be used for this column when generating
SQL.
|
String |
getSequenceName()
The name of the database sequence that is used to populate this key
|
String |
getSqlTypeName()
Returns the name of the column type in SQL, e.g.
|
boolean |
isNullable()
Indicator of whether or not this column is nullable or not.
|
boolean |
isPrimaryKey()
Flag indicating whether or not this column is the primary key of the table
|
void |
notNull()
Calling this method will enforce a not-null constraint on this column.
|
void |
optimisticSetKey(ENTITY item,
Long id)
Sets the key onto the object
|
PopulateResult |
populate(BUILDER constructor,
ResultSet resultSet)
Populates the passed builder object with the data read from the database.
|
void |
setSqlTypeName(String sqlTypeName)
Set the name of the type of this column as it would be in the SQL schema.
|
void |
setValue(ENTITY item,
int index,
PreparedStatement preparedStatement)
Sets a value onto the prepared statement based on the state of the object passed.
|
Set<Integer> |
supportedTypes()
The members of
java.sql.Types that this column should support. |
Long |
toClassType(Long dbType)
Applies any
Converter associated with this column to
a raw database type. |
Column<Long,Long,ENTITY,BUILDER> |
withPrefix(String newPrefix,
Prefixer prefixer)
Make a new instance of the column, identical to this instance, except with a
new prefix.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetKeyPrimitivefromResultSet, isParentColumnpublic Long getKey(ENTITY item)
PrimaryKeygetKey in interface PrimaryKey<ENTITY,BUILDER>item - The object whose primary key is to be read.public String getSequenceName()
PrimaryKeygetSequenceName in interface PrimaryKey<ENTITY,BUILDER>public void optimisticSetKey(ENTITY item, Long id)
PrimaryKeyoptimisticSetKey in interface PrimaryKey<ENTITY,BUILDER>item - the object whose key is to be setid - the primary key to assign itpublic String getName()
Columnpublic String getPrefix()
Columnpublic PopulateResult populate(BUILDER constructor, ResultSet resultSet) throws SQLException
Columnpopulate in interface Column<Long,Long,ENTITY,BUILDER>constructor - The object being populatedresultSet - The result said being readSQLException - allowed for ResultSet operationspublic void setValue(ENTITY item, int index, PreparedStatement preparedStatement) throws SQLException
Columnpublic Column<Long,Long,ENTITY,BUILDER> withPrefix(String newPrefix, Prefixer prefixer)
Columnpublic boolean isPrimaryKey()
Columnpublic void notNull()
Columnpublic Set<Integer> supportedTypes()
Columnjava.sql.Types that this column should support.public boolean isNullable()
Columnpublic String getSqlTypeName()
ColumnString,
"decimal" for BigDecimal.public void setSqlTypeName(String sqlTypeName)
Columnpublic Long toClassType(Long dbType)
ColumnConverter associated with this column to
a raw database type.public GenericColumn<Long> asGenericColumn()
ColumnDBTYPECopyright © 2019. All rights reserved.