---
title: "Breaking: #66429 - Remove IdentityMap from persistence"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:breaking-66429"
source: "Changelog/7.3/Breaking-66429-RemoveIdentityMapFromPersistence.rst"
typo3-version: "7.3"
typo3-major: 7
type: "breaking"
issue: 66429
forge: "https://forge.typo3.org/issues/66429"
tags: ["PHP-API", "ext:extbase"]
rendered: "2026-09-24T21:45:06+00:00"
---

# Breaking: #66429 - Remove IdentityMap from persistence {#breaking-66429}

See [forge#66429](https://forge.typo3.org/issues/66429)

## Description {#description}

The `IdentityMap` class and its usage has been removed from the Extbase persistence.

## Impact {#impact}

Upgraded installations will throw a `ReflectionException`. Accessing the previously existing `IdentityMap`
properties within `DataMapper` and `Repository` will now fail. Creating `IdentityMap` instances is not possible
anymore.

## Affected Installations {#affected-installations}

All installations, especially extensions using the `IdentityMap` class directly or accessing the properties within
`DataMapper` or `Repository`.

## Migration {#migration}

The Extbase reflection cache of existing installations needs to be cleared once.

Existing code can be migrated to the persistence `Session` class which provides a drop-in replacement for the
`IdentityMap`.

## Usage example {#usage-example}

How to use the `Session` class to retrieve objects by an identifier:

```php
$session = GeneralUtility::makeInstance(ObjectManager::class)->get(\TYPO3\CMS\Extbase\Persistence\Generic\Session::class);
$session->registerObject($object, $identifier);
if ($session->hasIdentifier($identifier)) {
	$object = $session->getObjectByIdentifier($identifier, $className);
}
```
