내 모델의 열거 형 속성 (System.DayOfWeek 인스턴스)을 정수 데이터베이스 필드에 매핑하려고합니다. 모델의 다른 enum 속성을 문자열에 매핑해야하므로 규칙을 정의하지 않으려합니다. 이 일 것으로 보인다 언뜻 보면 참으로매 플러시마다 업데이트를 일으키는 정수 매핑 열거 형
Map(x => x.DayOfWeek).CustomType<int>();
과 :
나는이 같은 유창 매핑을 사용 가능해야 이해합니다.
그러나이 방법으로 매핑 된 속성이있는 엔티티 인스턴스는 세션이 플러시 될 때마다 업데이트된다는 사실을 알았습니다.
이 플러시의 원인을 확인하려면 IPreUpdateEventListener를 설정하고 OldState와 엔터티의 상태를 검사합니다. 첨부 된 이미지를 참조하십시오. OldState에서 관련 객체는 int이며 State에서는 DayOfWeek입니다.
유형 속성이 지정되지 않은 HBM XML 매핑을 사용하는 경우이 문제가 발생하지 않습니다.
그래서 ...
이는 GenericEnumMapper에서 버그의 단점인가? FNH 매핑에 생성 된 HBM의 유형 속성을 지정하지 않도록 알리는 방법이 있습니까? 그렇지 않으면 NH가 열거 형에 사용하는 기본 유형을 지정할 수 있습니까? 내가 사용하는
어떻게됩니까? 뉴 햄프셔는 그 자체로 문제를 해결해야합니까? –
@ShaneC - 뉴 햄프셔,하지만 FNH의 동작은 기본적으로 열거 형으로 열거를 유지하려고하는 것입니다. –