2012-02-02 1 views
0

말은, 내 최대 절전 모드 매핑 내가 복합-ID 클래스 이름 "foo는 찾을 org.hibernate.metadata.ClassMetadata 또는 AbstractEntityPersister SingleTableEntityPersister 같은 서브 클래스를 사용할 수있는 방법이 있나요 아래의 항목Hibernate 3.6 classMetaData는 composite-id 클래스를 공개합니까?

<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> 

있습니다. PersonId "? 비록 쉽지만 간단하지만 ClassMetaData 객체를 디버그 모드로 검사하여도 찾을 수는 없습니다. personId, FIRST_NAME 및 LAST_NAME을 찾기 위해 getIdentifierPropertyName 및 getPropertyColumnNames를 사용할 수 있지만 "foo.PersonId"라는 클래스 이름을 가져올 수 없습니다.

org.hibernate.cfg.Configuration에 getClassMappings이 있으며 foo.PersonId가 있음을 알았지 만 Spring을 사용하여 최대 절전 모드 SessionFactory를 초기화하고 cfg.xml을 사용하지 않기 때문에 어떻게 해야할지 모르겠다. 내 필요에 맞게 Configuration 인스턴스를 가져 오십시오.

답변

0
ClassMetaData c; 
c.IdentifierType.ReturnedClass; 
+0

감사합니다. Firo,보세요! 늦은 의견에 사과드립니다. – Gerry

관련 문제