org.hibernate.property

Class BackrefPropertyAccessor

Implemented Interfaces:
PropertyAccessor

public class BackrefPropertyAccessor
extends java.lang.Object
implements PropertyAccessor

Represents a "back-reference" to the id of a collection owner. A "back-reference" is pertinent in mapping scenarios where we have a uni-directional one-to-many association in which only the many side is mapped. In this case it is the collection itself which is responsible for the FK value.

In this scenario, the one side has no inherent knowledge of its "owner". So we introduce a synthetic property into the one side to represent the association; a so-called back-reference.

Authors:
Gavin King
Steve Ebersole

Nested Class Summary

class
BackrefPropertyAccessor.BackrefGetter
Internal implementation of a property getter specific to these back-ref properties.
static class
BackrefPropertyAccessor.BackrefSetter
Internal implementation of a property setter specific to these back-ref properties.

Field Summary

static Serializable
UNKNOWN
A placeholder for a property value, indicating that we don't know the value of the back reference

Constructor Summary

BackrefPropertyAccessor(String collectionRole, String entityName)
Constructs a new instance of BackrefPropertyAccessor.

Method Summary

Getter
getGetter(Class theClass, String propertyName)
Setter
getSetter(Class theClass, String propertyName)

Field Details

UNKNOWN

public static final Serializable UNKNOWN
A placeholder for a property value, indicating that we don't know the value of the back reference

Constructor Details

BackrefPropertyAccessor

public BackrefPropertyAccessor(String collectionRole,
                               String entityName)
Constructs a new instance of BackrefPropertyAccessor.
Parameters:
collectionRole - The collection role which this back ref references.
entityName - The owner's entity name.

Method Details

getGetter

public Getter getGetter(Class theClass,
                        String propertyName)
Specified by:
getGetter in interface PropertyAccessor

getSetter

public Setter getSetter(Class theClass,
                        String propertyName)
Specified by:
getSetter in interface PropertyAccessor