 <p>According to hibernate <a href="http://hibernate.org/dtd/hibernate-mapping-3.0.dtd" rel="nofollow">DTD</a>, This should solve your problem</p> <pre><code> &lt;natural-id&gt; &lt;component name="location"&gt; &lt;property name="countryISO2"/&gt; &lt;property name="city"/&gt; &lt;/component&gt; &lt;/natural-id&gt; </code></pre> <p>and you should remove <code>&lt;component&gt;</code> that's at bottom of the mapping.</p>