title: Represent multiple parent relationships for entity
body: <p>Suppose I have these entities (annotations omitted, first property is primary key):</p>
  <pre><code>data class Person(val personId: Int, val name: String)
  
  data class Occasion(val occasionId: Int, val name: String)
  
  data class Party(val partyId: Int, val name: String, val honoreePersonId: Int?, val associatedOccasionId: Int?)
  </code></pre>
  <p>A Party can optionally be thrown in honor of a Person, and can optionally have a specific Occasion it is associated with.</p>
  <p>Now I want to get a list of all Parties, but with associated Persons and Occasions if it has any. The documentation describes setting up a one-to-one relationship, but not with multiple parents. In this case it would be a Party with two optional Parents.</p>
  <p>Can Room represent this kind of relationship? Can I simply mark multiple <code>@Relation</code> annotations on the primary item like this?</p>
  <pre><code>data class PartyWithAssociatedData(
      @Embedded val person: Person?,
      @Embedded val occasion: Occasion?,
      
      @Relation (parentColumn = &quot;personId&quot;, entityColumn = &quot;honoreePersonId&quot;)
      @Relation (parentColumn = &quot;occasionId&quot;, entityColumn = &quot;associatedOccasionId&quot;)
      val party: Party
  )
  
  @Transaction
  @Query(&quot;SELECT * FROM Party&quot;)
  fun getPartiesWithAssociatedData(): List&lt;PartyWithAssociatedData&gt;
  </code></pre>