51

これに沿ったマッピングがあります。

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Model.Entities" schema="etl" assembly="Model" default-lazy="false">
  <class name="Model.Entities.DataField, Model" table="mdm_field">
    <id name="FieldId" column="field_id" type="int">
      <generator class="native" />
    </id>
    <many-to-one name="KeyField" class="Model.Entities.Key, Model" column="field_id" />
  </class>
</hibernate-mapping>

現在、データベースでは、mdm_field テーブルの field_id が、関連する key_field テーブルに存在しない値を持つことがあるため、基本的に参照整合性が壊れています。このため、エンティティをロードすると、「指定された識別子を持つ行が存在しません」というエラーが表示されます。この状況で動作しないようにマッピングを構成するにはどうすればよいですか。

4

3 に答える 3

81

わかりました、私は答えを見つけました。追加

not-found="ignore"

プロパティへの属性KeyField:

<many-to-one name="KeyField" not-found="ignore" class="Model.Entities.Key, Model" column="field_id" />
于 2009-03-30T03:46:27.013 に答える