問題タブ [nhibernate-inheritance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
308 参照

nhibernate - 異常な NHibernate コレクション/継承マッピング

関連するクラスは次のとおりです。

関連するマッピング部分は次のとおりです。

これまでのところ、すべてが明確であることを願っています。

私がやろうとしているのは次のとおりです。Sectionオブジェクトを選択するときに、「軽量」ArticleMetadataオブジェクトのみを含めるようにします。しかし、DB に保存するときは、NHibernate にオブジェクトもSection永続化してもらいたい:Article

現在、SaveOrUpdateエラーなしで終了しますが、本格的なArticleオブジェクトは部分的にしか保存されません。つまり、そのContentプロパティの値が DB に到達することはありません。

Article個別に保存( session.Save(new Article(...));) すると期待どおりに機能し、マップされたすべてのプロパティが保存されます。

要約すると、ArticleMetadataArticleオブジェクトの両方をSection.Articlesコレクションに追加し、それらを適切に保存したいと考えています。この種の動作はまったく可能ですか?

0 投票する
1 に答える
915 参照

nhibernate - NHibernate でサブクラスを使用する場合の「複数基準の実行エラー」例外

NH を使用して、次のクラスを次のテーブルにマップしようとしています。

テーブル:

そのために使用しようとしたhbmは次のとおりです。

次のコードを使用して、すべての従業員レコード (従業員とキャッシャー) を読み込もうとすると、次のようになります。

(ここで、T は従業員です)、次の例外が発生します。

私が持っていた他の発見:

  1. 新しいプロパティを Cashier クラスに追加すると、NH は対応するフィールドを Employees ではなく Persons で検索します (予期した場所で Employees に追加しました)。

  2. (追加のプロパティを追加するために) Cashier サブクラス要素内で Employees テーブルの同じ結合を明示的に指定すると、上記と同じ例外が発生します。

ここで何が間違っていますか?

PS: 私見、ここで何か間違ったことをしている場合でも、NH はここでより説明的な例外を提供する必要があります。

0 投票する
1 に答える
61 参照

java - Hibernate 継承の実装の問題

1つのhbmファイルを書きたいです。

私のクラス階層は

今、

いくつかの基準に応じて ClassA または classB のオブジェクト型を持つ ClassMain という別のクラスを作成しています (ClassMain の列の型など)。

私のモデルクラスで私が書いた

さて、これを実装する方法をhbmファイルで教えてください...???

または、同じことを実装するための他の選択肢を教えてください。

0 投票する
1 に答える
510 参照

java - 休止状態の継承。スーパークラスの属性

アクセスできないクラスをマップする必要があります。

私のテーブルは自動生成され、サブクラスでのみ列を生成します。スーパークラスに注釈を付けるアクセス権がない場合、どうすればスーパークラスをマップできます@Inheritanceか?

試してみまし@AttributeOverrides(value = { @AttributeOverride( name = "username", column = @Column(name = "username")) })たが、うまくいかないようです