Hibernate 3.6 classMetaData公开复合id类?
比如说,我的hibernate映射有以下条目Hibernate 3.6 classMetaData公开复合id类?,hibernate,hibernate-mapping,Hibernate,Hibernate Mapping,比如说,我的hibernate映射有以下条目 <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-p
<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来查找复合id类名“foo.PersonId”?我认为这应该很容易,但即使在调试模式下检查ClassMetaData对象,我也找不到它。我可以使用getIdentifierPropertyName和getPropertyColumnNames来查找personId、FIRST_NAME和LAST_NAME,但无法获取类名“foo.personId”
我注意到org.hibernate.cfg.Configuration有getClassMappings,我可以看到foo.PersonId在那里,但我使用Spring初始化hibernate SessionFactory,我不使用cfg.xml,所以我不知道如何根据需要获取配置实例。谢谢Firo,我会看一看!很抱歉,反馈太晚了!
ClassMetaData c;
c.IdentifierType.ReturnedClass;