primaryKeyJoinColumn
The column that contains the id of this entity if
joinedParentClass is not null.E - The described classentity class.private static final class GeneratedIdProperty.private AccessStyleidProperty or properties from joinedParentClass.idProperty and properties from joinedParentClass.private final List<List<SingularProperty<E,?>>> private List<Consumer<EntityClass<E>>> private final GeneratorContextprivate ColumnExpressionprivate GeneratorColumndiscriminator.private final Constructor<E> private final Stringprivate final Map<Object,GenerationState> private EntityClass<? super E> private jakarta.persistence.InheritanceTypeprivate EntityClass<? super E> InheritanceType.JOINED, if any.build() to find the joinedParentClass even if that one references our class.private GeneratorColumnjoinedParentClass is not null.private GeneratorTableprivate List<SingularProperty<E,?>> private UniquePropertyQualityuniqueProperties.EntityClass(GeneratorContext context,
Class<E> entityClass) (package private) voidbuild()entityClass and fills all other properties.private voidprivate ColumnExpressionbuildDiscriminator(EntityClass<?> c,
jakarta.persistence.DiscriminatorColumn column) private voidbuildGenerators(Class<?> c) context.private voidbuildIdProperty(Class<? super E> c) idProperty.private voidprivate voidbuildOverrides(Class<? super E> inspectedClass) private voidprivate voidbuildProperties(Class<? super E> c,
Class<? super E> stopClass) properties.private voidbuildUniqueProperties(jakarta.persistence.UniqueConstraint[] uniqueConstraints) private voidbuildUniqueProperty(SingularProperty<E,?> property) voidcreatePostInsertStatements(E entity,
StatementsWriter writer) private voidfindHierarchyRoot(Class<? super E> inspectedClass) private booleanfindIdProperty(Iterable<AttributeAccessor> declaredAttributes) private SingularProperty<E,?> findPropertyByColumnName(String columnName) getAccociationOverrides(Map<String,jakarta.persistence.AssociationOverride> surroundingOverrides,
String prefix,
AnnotatedElement element) idProperty or properties from joinedParentClass.idProperty and properties from joinedParentClass.List<List<SingularProperty<E,?>>> getAttributeOverrides(Map<String,jakarta.persistence.AttributeOverride> surroundingOverrides,
String prefix,
AnnotatedElement element) AttributeOverrides that are attached to the given field, method or class, by taking the already
defined overrides into account.private static jakarta.persistence.ColumngetColumnAnnotation(AttributeAccessor attribute,
Map<String,jakarta.persistence.AttributeOverride> overrides) discriminator.getEntityReference(E entity,
String idField,
boolean whereExpression) private ColumnExpressiongetGeneratedIdReference(E entity,
boolean whereExpression) EntityClass<? super E> (package private) GeneratorColumngetIdColumn(AttributeAccessor attribute) id property of this entity class.jakarta.persistence.InheritanceTypeEntityClass<? super E> InheritanceType.JOINED, if any.build() to find the joinedParentClass even if that one references our class.joinedParentClass is not null.private ObjectgetStateId(E entity) entityStates.getTable()List<SingularProperty<E,?>> uniqueProperties.private voidinspectUniqueConstraint(jakarta.persistence.UniqueConstraint constraint) private booleanisBetterUniquePropertyQuality(UniquePropertyQuality foundQuality) booleanvoidmarkExistingEntity(E entity) <V> voidmarkPendingUpdates(E pendingEntity,
V entityToUpdate,
Property<V,?> propertyToUpdate,
Object... arguments) class.voidonPropertiesAvailable(Consumer<EntityClass<E>> listener) toString()null if no subclass is known and no inhertance is indicated (using one of the inheritance annotations).build() to find the joinedParentClass even if that one references our class.InheritanceType.JOINED, if any.null if no discriminator is useddiscriminator.
null if this class does not belong to a table that contains a discriminator columnjoinedParentClass is not null.joinedParentClass exists, this property is the id property of the parent class.GeneratorContext.getUniquePropertyQuality() and
GeneratorContext.getMaxUniqueProperties() this might be null, even if there is a set of
available unique properties, if the quality is not enough.uniqueProperties.idProperty and properties from joinedParentClass.idProperty or properties from joinedParentClass.context - the current contextentityClass - the represented classsurroundingOverrides - the overrides already defined for the surrounding elementprefix - the prefix of the element, for lookup in surroundingOverrideselement - the annotated elementAssociationOverrides
nor AssociationOverride are givenAttributeOverrides that are attached to the given field, method or class, by taking the already
defined overrides into account.surroundingOverrides - the overrides already defined for the surrounding elementprefix - the prefix of the element, for lookup in surroundingOverrideselement - the annotated elementAttributeOverrides
nor AttributeOverride are givenentityClass and fills all other properties.
Not done in the constructor to prevent endless loops (when we reference an entity class that references us).context.c - the currently inspected classidProperty.c - the currently inspected classproperties.c - the currently inspected classstopClass - the class in the hierarchy to stop inspectingentity - the entity that exists now in the databasewriter - the target of the new statementsIOException - if the writer throws oneentity - the entityidField - the field that contains the id, only interesting if the id is an EmbeddedPropertywhereExpression - indicates that the reference is used in a "where" statementunique properties or the
id of the entityid property of this entity class.attribute - the referencing attribute (for evaluating annotations)IllegalStateException - if the id property is not singular and no MapsId is givenentityStates.entity - the entityentity - the entity to checktrue if the entity was neither written, nor exists in the databaseentity - the entity to markpendingEntity - the entity that needs to be written, before the update can take placeentityToUpdate - the entity to updatepropertyToUpdate - the property of the entity to updatearguments - additional argumentsclass.listener - called as soon as all properties are availablenull if no subclass is known and no inhertance is indicated (using one of the inheritance annotations).build() to find the joinedParentClass even if that one references our class.InheritanceType.JOINED, if any.null if no discriminator is useddiscriminator.
null if this class does not belong to a table that contains a discriminator columnjoinedParentClass is not null.joinedParentClass exists, this property is the id property of the parent class.GeneratorContext.getUniquePropertyQuality() and
GeneratorContext.getMaxUniqueProperties() this might be null, even if there is a set of
available unique properties, if the quality is not enough.uniqueProperties.idProperty and properties from joinedParentClass.idProperty or properties from joinedParentClass.