Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 3.6 classMetaData公开复合id类?_Hibernate_Hibernate Mapping - Fatal编程技术网

Hibernate 3.6 classMetaData公开复合id类?

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

比如说,我的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-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;