Class PropertyValueAccessor
java.lang.Object
org.hibernate.property.access.spi.PropertyValueAccessor
Monomorphic dispatcher for property value access. A single concrete class
handles get, set, and getForInsert for all property access patterns via an
internal
PropertyValueAccessor.Kind enum.
One instance per attribute, combining read and write. Created at boot time with all fields pre-resolved. Every call site sees exactly one concrete type, enabling JIT to inline and specialize.
For the PropertyValueAccessor.Kind.STANDARD mode, delegates to
ValueReader/ValueWriter
from hibernate-accessor — ORM never implements those interfaces.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SerializableA placeholder for a property value, indicating that we don't know the value of the back reference -
Method Summary
Modifier and TypeMethodDescriptionstatic PropertyValueAccessorstatic PropertyValueAccessorchained(PropertyValueAccessor[] chain) static PropertyValueAccessorcompositeUserType(CompositeUserType<?> compositeUserType, int propertyIndex) static PropertyValueAccessorembedded()static PropertyValueAccessorenhanced(org.hibernate.accessor.ValueReader<?> reader, org.hibernate.accessor.ValueWriter writer, int enhancementState, String propertyName) getForInsert(Object owner, Map<Object, Object> mergeMap, SharedSessionContractImplementor session) static PropertyValueAccessorindexBackRef(String entityName, String propertyName) static PropertyValueAccessorstatic PropertyValueAccessornoop()static PropertyValueAccessorvoidstatic PropertyValueAccessorstandard(org.hibernate.accessor.ValueReader<?> reader, org.hibernate.accessor.ValueWriter writer, String propertyName)
-
Field Details
-
UNKNOWN
A placeholder for a property value, indicating that we don't know the value of the back reference
-
-
Method Details
-
standard
public static PropertyValueAccessor standard(org.hibernate.accessor.ValueReader<?> reader, @Nullable org.hibernate.accessor.ValueWriter writer, String propertyName) -
readonly
public static PropertyValueAccessor readonly(org.hibernate.accessor.ValueReader<?> reader, String propertyName) -
enhanced
public static PropertyValueAccessor enhanced(org.hibernate.accessor.ValueReader<?> reader, @Nullable org.hibernate.accessor.ValueWriter writer, int enhancementState, String propertyName) -
map
-
embedded
-
noop
-
compositeUserType
public static PropertyValueAccessor compositeUserType(CompositeUserType<?> compositeUserType, int propertyIndex) -
backRef
-
indexBackRef
-
chained
-
get
-
set
-