2009-12-10 5 views
0

(A)에 많은 관계로 5에 새로운 항목을 추가하는 것은 이러한 매핑 가지고가 NHibernate에

mapping.HasManyToMany를 (X => x.SubVersions) .ParentKeyColumn ("ParentId") ChildKeyColumn ("SubVersionId").. 표 ( "VersionLinks");

이렇게하면 2 열 (ParentId, SubVersionId)이있는 VersionLinks 테이블이 만들어집니다. 이 테이블에 Parent, SubVersion, Date 필드가있는 새로운 엔티티 VersionLink를 만들지 않고도 자동으로 채워지는 다른 열 (예 : CreateDate)을 자동으로 (DateTiem.Now) 가질 수 있습니까?

답변

1

당신은 기본 getdate() 값을 수동으로 새로운 CreateDate 열을 만들려고 할 수도 있지만, 난 그냥 VersionLink위한 새로운 개체를 만드는 것하고는 many-to-manymany-to-one들에

날짜 속성을 업데이트하는 자동차에 대한
0

취할 변환 IPreUpdateEventListener을 사용해보세요.

매핑 테이블에 대해서는 컴포지트 요소를 만들지 않아도된다고 확신합니다. 나는 sortweight 란을 추가하고 싶었던 비슷한 문제가 있었다. 다음 매핑으로 끝났습니다 :

<bag 
    name="criteria" 
    access="field" 
    table="assessment_criterion_map" 
    fetch="subselect" 
    cascade="save-update"> 
    <key column="assessment_id"/> 
    <composite-element class="WeightedCriterion"> 
    <parent name="assessment"/> 
    <many-to-one 
     class="Criterion" 
     name="criterion" 
     access="field" 
     column="criterion_id" 
     cascade="save-update" 
     fetch="join"/> 
    <property name="Weight"/> 
    <property name="SortOrder" column="sort_order"/> 
    </composite-element> 
</bag>