# Class BaseDataObject

java.lang.Object
org.apache.cayenne.PersistentObject
org.apache.cayenne.BaseDataObject

All Implemented Interfaces:
  `Serializable, Persistent, Validating`

@Deprecated(since="5.0", forRemoval=true) public abstract class BaseDataObject extends PersistentObject implements Persistent, Validating
Deprecated, for removal: This API element is subject to removal in a future version.
use `PersistentObject` directly
Deprecated base implementation of `Persistent` objects.

Since:
  4.1
See Also:
  - `PersistentObject`
  - `GenericPersistentObject`
  - `HybridPersistentObject`
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class PersistentObject

  `objectContext, objectId, persistenceState, snapshotVersion`

  ### Fields inherited from interface Persistent

  `DEFAULT_VERSION`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BaseDataObject()`
  Deprecated, for removal: This API element is subject to removal in a future version.

- ## Method Summary

  ### Methods inherited from class PersistentObject

  `addToManyTarget, appendProperties, beforePropertyRead, beforePropertyWrite, getMapKey, getObjectContext, getObjectId, getPersistenceState, getSnapshotVersion, readNestedProperty, readNestedProperty, readProperty, readPropertyDirectly, readSerialized, readState, removeToManyTarget, setObjectContext, setObjectId, setPersistenceState, setReverseRelationship, setSnapshotVersion, setToManyTarget, setToOneTarget, toString, toStringBuffer, unsetReverseRelationship, validateForDelete, validateForInsert, validateForSave, validateForUpdate, willConnect, writeProperty, writePropertyDirectly, writeSerialized, writeState`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Persistent

  `addToManyTarget, getObjectContext, getObjectId, getPersistenceState, getSnapshotVersion, readNestedProperty, readNestedProperty, readProperty, readPropertyDirectly, removeToManyTarget, setObjectContext, setObjectId, setPersistenceState, setSnapshotVersion, setToOneTarget, writeProperty, writePropertyDirectly`

  ### Methods inherited from interface Validating

  `validateForDelete, validateForInsert, validateForUpdate`

- ## Constructor Details

  - ### BaseDataObject

    public BaseDataObject()
    Deprecated, for removal: This API element is subject to removal in a future version.