title: Hibernate subclass with foreign key relationships
body: <p>I need some help defining the following object hierarchy/ database relationship in Hibernate</p>
  
  <p>From the object sense – Agent is inherited from Person and Agency is inherited from Organization. they are inherited from Party which can have multiple Addresses associated with it</p>
  
  <p><img src="https://yuml.me/diagram/scruffy/class/%5BParty%5D%5E%5BOrganization%5D,%20%5BParty%5D%5E%5BPerson%5D,%20%5BOrganization%5D%5E%5BAgency%5D,%20%5BPerson%5D%5E%5BAgent%5D,%20%5BParty%5D-0..*%3E%5BAddress%5D" alt="alt text"></p>
  
  <p>The database consists of 
  <pre>
  Agent
  -ID
  -Name
  -PartyID (references Party.ID)
  </pre><pre>
  Agency
  -ID
  -Name
  -PartyID (references Party.ID)
  </pre><pre>
  Address
  -AddrID
  -PartyID (references Party.ID)
  -Street
  </pre><pre>
  Party.
  -PartyID
  </pre></p>