2010-02-12 3 views
1

영어가 모국어가 아니므로 실례합니다. 이 예에서
처럼 : http://www.xylax.net/hibernate/manytomany.html


하지만 테이블 foo는 바에서 기본 또는 외래 키의 일부가 아닌 2 속성 : 하나 부울 (A) & 하나의 문자열 (B)가 있습니다. 속성없이 매핑하는 방법을 알고 있지만이 경우에는 알 수 없습니다.

설명서에서 답변을 찾지 못했습니다.

지도를 작성하는 방법을 알려주세요. & 내 수업 Foo에서 신고해야하는 컬렉션의 종류.

속성과 관련된 다 대다 관계 : 어떻게?

미리 답변 해 주셔서 감사합니다.

정말 감사드립니다.

+0

같은 솔루션을 찾고있는 다른 사용자를 도울 수있는 답을 게시 할 수 있습니까? –

답변

1

을 유지하기 위해 세 번째 클래스를 작성해야합니다 같아요

는 연관 테이블을 모델링하는 복합 요소를 사용합니다. 당신은 또한 대리와 함께 <idbag>를 사용할 수 있습니다

<set name="relationship"> 
    <key column="fk_of_foo"/> 
    <composite-element class="Relationship"> 
     <property name="multiplicity" type="short" not-null="true"/> 
     <property name="created" type="date" not-null="true"/> 
     <many-to-one name="bar" class="Bar" not-null="true"/> 
    </composite-element> 
</set> 

:

create table relationship ( 
    fk_of_foo bigint not null, 
    fk_of_bar bigint not null, 
    multiplicity smallint, 
    created date) 

당신이 (Foo 클래스의 매핑 내부)이 콜렉션 매핑 을 사용할 수 있습니다 예를 들어, 다음 연관 테이블을 제공 콜렉션 테이블의 키 컬럼 이렇게하면 에 Null 허용 열이있을 수 있습니다.

대체 접근법은 두 개의 양방향 일대 다 연관이있는 엔티티 클래스로 연결 테이블을 매핑하는 것입니다.