Скажем, мое отображение спящего режима имеет следующую запись
<class name="foo.Person" table="person" lazy="false">
<composite-id name="personId" class="foo.PersonId">
<key-property name="FIRST_NAME" type="string" column="FIRST_NAME"/>
<key-property name="LAST_NAME" type="string" column="FIRST_NAME"/>
</composite-id>
<property name="AGE" type="int" node="AGE" column="AGE"/>
</class>
Можно ли каким-либо образом использовать org.hibernate.metadata.ClassMetadata или его подклассы, такие как AbstractEntityPersister SingleTableEntityPersister, чтобы найти имя класса составного идентификатора "foo.PersonId"? Я думаю, что это должно быть легко, но я просто не могу найти его, даже исследуя объект ClassMetaData в режиме отладки. Я мог бы использовать getIdentifierPropertyName и getPropertyColumnNames, чтобы найти personId и FIRST_NAME и LAST_NAME, но просто не могу получить имя класса "foo.PersonId".
Я заметил, что org.hibernate.cfg.Configuration имеет getClassMappings, и я мог видеть foo.PersonId, но я использую Spring для инициализации hibernate SessionFactory, и я не использую cfg.xml, поэтому я не знаю, как получить Экземпляр конфигурации для моих нужд.