2008-11-07 4 views
2

다른 엔터티에 조인하는 사용자 엔터티에 새로운 다 대일 관계를 만들어야합니다. 문제는 다른 엔티티가 하나의 필드가 User 엔티티의 필드이고 다른 하나가 다른 Many-To-One 엔티티의 필드 인 복합 키를 갖는 것입니다.NHibernate에서 다른 자식의 복합 키의 일부로 자식 개체 필드를 사용하는 방법

User.Key -> User.NewThing.Key

User.SubThing.Key -> User.NewThing.Key 아래

내가 이상적으로 JeanieUserTyped이 어디에 사용하고자하고 잘못된 매핑 파일 내 newthing과 ApplicationId는 ShortCode.ApplicationId에서 오는 문제의 핵심입니다.

질문 복합 키의 응용 프로그램 부분을 매핑하는 방법은 무엇입니까? 내가 닫으입니다 -

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="JeanieMaster.Domain.Entities" assembly="JeanieMaster.Domain"> 
    <class name="JeanieUser" table="DBSVR1.Jeanie_Master.dbo.JeanieUser" select-before-update="false" optimistic-lock="none"> 
     <id name="Id" column="UserId" type="Int32"> 
      <generator class="identity"/> 
     </id> 

     <property name="Mobile" type="String"/> 
     <property name="UniqueReoccurBillingRefId" type="String"/> 
     <property name="DateJoined" type="DateTime"/> 
     <property name="IsActive" type="Boolean"/> 

     <many-to-one name="MobileNetwork" class="MobileNetwork" column="MobileNetworkId" /> 
     <many-to-one name="ShortCode" class="ShortCode" column="ShortCodeId" /> 
     <many-to-one name="MobileHandset" class="MobileHandset" column="HandsetId" /> 

     <many-to-one name="JeanieUserTyped" class="JeanieUserTyped"> 
      <column name="Mobile" /> 
      <column name="ApplicationId" /> 
     </many-to-one> 

    </class> 
</hibernate-mapping> 

답변

1

당신은 NewThing가 해결

대다 사용자 및 SubThing 사용하면 3 개 단체,

사용자 SubThing NewThing이 같은 소리, 더 자세한 정보를 줄 수 ? 어쩌면이 같은

:

User   -< SubThing 
|     | 
/\     /\ 
     NewThing 

내가 내 질문에 좀 더 구체적인 edntry을 추가 한 composite key stuff in nhibernate is relevant?

+0

을 생각하지 않습니다 –

관련 문제