0

状況は次のとおりです。データベースに「Entidade」というテーブルと「Medico」というテーブルを所有しています。テーブル "Medico" は、以下のテーブルの結合サブクラス エンティティです。

<joined-subclass name="Medico" table="Medico">
  <key column="SEQ_ENTIDADE"/>
  <property name="DSC_CRM"/>
  <property name="DSC_ESPECIALIDADE"/>
  <property name="FLG_SEXO"/>
</joined-subclass>

ユーザーは、既に登録されている「Entidade」を「Medico」で「Turn it」に使用できる必要があります。クラス「Entidade」を拡張するオブジェクト「Medico」を同じ ID「Entidade」で保存しようとすると、次のエラーが発生します。

violation of PRIMARY or UNIQUE KEY constraint "PK_ENTIDADE" on table "ENTIDADE"

私のクラス「メディコ」:

public class Medico : Entidade
{
    public virtual string DSC_CRM { get; set; }

    public virtual string DSC_ESPECIALIDADE { get; set; }

    public virtual Sexo FLG_SEXO { get; set; }
}

この「変身」の可能性は?

状況を理解するために他に何か必要な場合は、お尋ねください。

4

1 に答える 1

1

あなたの場合、サブクラスを使用すべきではないと思います。これは nHibernate の問題ではなく、クラスと継承の問題です。

時間の経過とともに追加または削除できるインスタンスの追加プロパティがある場合、モデルではなく集約に継承を使用します。そして、結合されたサブクラスの問題は参照の問題 (または HasMany) になり、問題ありません。

よろしく、マイケル

于 2013-04-26T13:06:17.590 に答える