# Class RelationshipFault<E>

java.lang.Object
org.apache.cayenne.util.RelationshipFault<E>

Direct Known Subclasses:
  `PersistentObjectHolder, PersistentObjectList, PersistentObjectMap, PersistentObjectSet`

public abstract class RelationshipFault<E> extends Object
An abstract superclass of lazily faulted to-one and to-many relationships.

Since:
  1.2

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String`
  `relationshipName`
  `protected Persistent`
  `relationshipOwner`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `RelationshipFault()`
  ``
  `RelationshipFault(Persistent relationshipOwner, String relationshipName)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getRelationshipName()`
  `Persistent`
  `getRelationshipOwner()`
  `protected boolean`
  `isTransientParent()`
  `protected boolean`
  `isUncommittedParent()`
  `protected abstract void`
  `mergeLocalChanges(List<E> resolved)`
  `protected List<E>`
  `resolveFromDB()`
  Executes a query that returns related objects.
  `protected void`
  `updateReverse(List<E> resolved)`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### relationshipOwner

    protected Persistent relationshipOwner

  - ### relationshipName

    protected String relationshipName

- ## Constructor Details

  - ### RelationshipFault

    protected RelationshipFault()

  - ### RelationshipFault

    public RelationshipFault(Persistent relationshipOwner, String relationshipName)

- ## Method Details

  - ### getRelationshipName

    public String getRelationshipName()

  - ### getRelationshipOwner

    public Persistent getRelationshipOwner()

  - ### isTransientParent

    protected boolean isTransientParent()

  - ### isUncommittedParent

    protected boolean isUncommittedParent()

  - ### mergeLocalChanges

    protected abstract void mergeLocalChanges(List<E> resolved)

  - ### resolveFromDB

    protected List<E> resolveFromDB()
    Executes a query that returns related objects. Subclasses would invoke this method whenever they need to resolve a fault.

  - ### updateReverse

    protected void updateReverse(List<E> resolved)