<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tachyony.co.uk/w/index.php?action=history&amp;feed=atom&amp;title=Identity_map_pattern</id>
	<title>Identity map pattern - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tachyony.co.uk/w/index.php?action=history&amp;feed=atom&amp;title=Identity_map_pattern"/>
	<link rel="alternate" type="text/html" href="https://wiki.tachyony.co.uk/w/index.php?title=Identity_map_pattern&amp;action=history"/>
	<updated>2026-06-28T02:20:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.tachyony.co.uk/w/index.php?title=Identity_map_pattern&amp;diff=48019&amp;oldid=prev</id>
		<title>imported&gt;Chimneychobga: Added short description</title>
		<link rel="alternate" type="text/html" href="https://wiki.tachyony.co.uk/w/index.php?title=Identity_map_pattern&amp;diff=48019&amp;oldid=prev"/>
		<updated>2025-11-05T17:32:45Z</updated>

		<summary type="html">&lt;p&gt;Added short description&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Database access design pattern}}&lt;br /&gt;
{{One source|date=April 2020}}&lt;br /&gt;
&lt;br /&gt;
In [[database]] design, the &amp;#039;&amp;#039;&amp;#039;identity map pattern&amp;#039;&amp;#039;&amp;#039; is a database access [[Software design pattern|design pattern]] used to improve performance by providing a context-specific, in-memory [[database caching|cache]] to prevent duplicate retrieval of the same object data from the database.&amp;lt;ref&amp;gt;{{cite book | last = Fowler | first = Martin | title = Patterns of Enterprise Application Architecture | pages = 195–199 | publisher = Addison-Wesley | isbn = 0-321-12742-0 | year = 2003&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the requested data has already been loaded from the database, the identity map returns the same instance of the already instantiated object, but if it has not been loaded yet, it loads it and stores the new object in the map. In this way, it follows a similar principle to [[lazy loading]].&lt;br /&gt;
&lt;br /&gt;
There are 4 types of identity maps&lt;br /&gt;
#Explicit&lt;br /&gt;
#Generic&lt;br /&gt;
#Session&lt;br /&gt;
#Class&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Active record pattern|Active record]]&lt;br /&gt;
* [[Identity function]]&lt;br /&gt;
* [[Map (mathematics)]]&lt;br /&gt;
* [[Lazy loading]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
{{Design Patterns Patterns}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Architectural pattern (computer science)]]&lt;br /&gt;
[[Category:Software design patterns]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{comp-sci-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Chimneychobga</name></author>
	</entry>
</feed>