<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xebia Blog &#187; JPA implementation patterns</title>
	<atom:link href="http://blog.xebia.com/category/jpa/implementation-patterns/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xebia.com</link>
	<description></description>
	<lastBuildDate>Wed, 10 Mar 2010 08:24:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JPA implementation patterns: Wrap-up</title>
		<link>http://blog.xebia.com/2009/07/13/jpa-implementation-patterns-wrap-up/</link>
		<comments>http://blog.xebia.com/2009/07/13/jpa-implementation-patterns-wrap-up/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 17:25:46 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=2605</guid>
		<description><![CDATA[The previous blog in the JPA implementation patterns series discussed different ways to test your JPA code. Figuring out how to test DAO's and then being frustrated because the existing literature on JPA seemed to say very little on this subject, was actually the trigger for me to write these blogs. I have now come [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/07/13/jpa-implementation-patterns-wrap-up/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Testing</title>
		<link>http://blog.xebia.com/2009/07/11/jpa-implementation-patterns-testing/</link>
		<comments>http://blog.xebia.com/2009/07/11/jpa-implementation-patterns-testing/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 12:24:29 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[fitnesse]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=2528</guid>
		<description><![CDATA[In the previous blog in the  JPA implementation patterns series, I talked about the three default ways of mapping inheritance hierarchies using JPA. And introduced one non-standard but quite useful method. This week I will discuss various approaches to testing JPA code.
What to test?
The first question to ask is: what code do we want [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/07/11/jpa-implementation-patterns-testing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Mapping inheritance hierarchies</title>
		<link>http://blog.xebia.com/2009/06/21/jpa-implementation-patterns-mapping-inheritance-hierarchies/</link>
		<comments>http://blog.xebia.com/2009/06/21/jpa-implementation-patterns-mapping-inheritance-hierarchies/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 18:54:59 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=2071</guid>
		<description><![CDATA[Last week I discussed the relative merits of field access versus property access in the ongoing JPA implementation patterns blog series. This week I will dwell on the choices offered when mapping inheritance hierarchies in JPA.
JPA provides three ways to map Java inheritance hierarchies to database tables:

InheritanceType.SINGLE_TABLE - The whole inheritance hierarchy is mapped to [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/06/21/jpa-implementation-patterns-mapping-inheritance-hierarchies/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Field access vs. property access</title>
		<link>http://blog.xebia.com/2009/06/13/jpa-implementation-patterns-field-access-vs-property-access/</link>
		<comments>http://blog.xebia.com/2009/06/13/jpa-implementation-patterns-field-access-vs-property-access/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 11:14:18 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Performance]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=2007</guid>
		<description><![CDATA[Last week my colleague Albert Sikkema blogged about using UUIDs as primary keys. Interesting stuff, thanks again, Albert! This week I will continue the JPA implementation patterns series by discussing the relative merits of field access vs. property access.
 The JPA specification allows two ways for the persistence provider to access the persistent state of [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/06/13/jpa-implementation-patterns-field-access-vs-property-access/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Using UUIDs as primary keys</title>
		<link>http://blog.xebia.com/2009/06/03/jpa-implementation-patterns-using-uuids-as-primary-keys/</link>
		<comments>http://blog.xebia.com/2009/06/03/jpa-implementation-patterns-using-uuids-as-primary-keys/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 19:58:28 +0000</pubDate>
		<dc:creator>Albert Sikkema</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=1856</guid>
		<description><![CDATA[Continuing Vincent Partington's blog series about JPA implementation patterns, I would like to add the following 
The default way in JPA for primary keys is to use the @GeneratedValue annotation with the strategy attribute set to one of AUTO, IDENTITY, SEQUENCE, or TABLE. You pick the most appropriate strategy for your situation and that's it.
But [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/06/03/jpa-implementation-patterns-using-uuids-as-primary-keys/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Bidirectional associations vs. lazy loading</title>
		<link>http://blog.xebia.com/2009/05/25/jpa-implementation-patterns-bidirectional-associations-vs-lazy-loading/</link>
		<comments>http://blog.xebia.com/2009/05/25/jpa-implementation-patterns-bidirectional-associations-vs-lazy-loading/#comments</comments>
		<pubDate>Mon, 25 May 2009 20:32:27 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=1772</guid>
		<description><![CDATA[Two weeks ago I blogged about the use of the Service Facade and Data Transfer Object pattern in JPA application architecture. This week I will move from the high level perspective and discuss an interesting interaction I discovered between the way bidirectional associations are managed and lazy loading. So let's roll up our sleeves and [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/05/25/jpa-implementation-patterns-bidirectional-associations-vs-lazy-loading/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Service Facades and Data Transfers Objects</title>
		<link>http://blog.xebia.com/2009/05/11/jpa-implementation-patterns-service-facades-and-data-transfers-objects/</link>
		<comments>http://blog.xebia.com/2009/05/11/jpa-implementation-patterns-service-facades-and-data-transfers-objects/#comments</comments>
		<pubDate>Mon, 11 May 2009 20:22:06 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=1692</guid>
		<description><![CDATA[In my previous blog on JPA implementation patterns, I touched upon the subject of the DTO and Service Facade patterns. In this blog I will explore why we would even need such patterns and put these patterns and the DAO pattern into the broader context of JPA application architecture.
If there is one thing that I [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/05/11/jpa-implementation-patterns-service-facades-and-data-transfers-objects/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Lazy loading</title>
		<link>http://blog.xebia.com/2009/04/27/jpa-implementation-patterns-lazy-loading/</link>
		<comments>http://blog.xebia.com/2009/04/27/jpa-implementation-patterns-lazy-loading/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 19:30:27 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=1540</guid>
		<description><![CDATA[In the previous three blogs about JPA implementation patterns, I covered the basis operations of saving entities, retrieving entities, and removing entities. In this blog I will continue along a different angle, exploring the subject of how entities are lazily loaded and how that affects your application.
Anybody that has been working with Hibernate for a [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/04/27/jpa-implementation-patterns-lazy-loading/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Removing entities</title>
		<link>http://blog.xebia.com/2009/04/09/jpa-implementation-patterns-removing-entities/</link>
		<comments>http://blog.xebia.com/2009/04/09/jpa-implementation-patterns-removing-entities/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 08:34:51 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=976</guid>
		<description><![CDATA[For the last few weeks I have been covering the implementation patterns I discovered while writing JPA applications. The last two blogs covered saving entities and retrieving entities. But when you're really through with your entities, I guess you'd want to remove them too.   So that is the subject of this blog.
Just like [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/04/09/jpa-implementation-patterns-removing-entities/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>JPA implementation patterns: Retrieving entities</title>
		<link>http://blog.xebia.com/2009/04/03/jpa-implementation-patterns-retrieving-entities/</link>
		<comments>http://blog.xebia.com/2009/04/03/jpa-implementation-patterns-retrieving-entities/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 11:04:15 +0000</pubDate>
		<dc:creator>Vincent Partington</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JPA implementation patterns]]></category>
		<category><![CDATA[Java]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=916</guid>
		<description><![CDATA[Last week I talked about how to save an entity. And once we've saved an entity we'd also like to retrieve it. Compared to managing bidirectional associations or saving entities, retrieving entities is actually rather simple. So simple I doubted whether there would be much point in writing this blog   . However we [...]]]></description>
		<wfw:commentRss>http://blog.xebia.com/2009/04/03/jpa-implementation-patterns-retrieving-entities/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
