I have a problem. Imagine this data model:
[Person] table has: PersonId, Name1
[Tag] table has: TagId, TagDescription
[PersonTag] has: PersonId, TagId,
Kay, here's the answer. Little-to-no documentation on this:
<composite-id name="PersonTagKey" class="PersonTagKey">
<key-many-to-one name="Person" column="PersonId" lazy="proxy" class="Person">
<key-many-to-one name="Tag" column="TagId" lazy="proxy" class="Tag"/>
</composite-id>
This will allow you to create a composite-id made up of the inverse of a many-to-one relationship.
Good hunting...