問題タブ [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.
nhibernate - 異常な NHibernate コレクション/継承マッピング
関連するクラスは次のとおりです。
関連するマッピング部分は次のとおりです。
これまでのところ、すべてが明確であることを願っています。
私がやろうとしているのは次のとおりです。Section
オブジェクトを選択するときに、「軽量」ArticleMetadata
オブジェクトのみを含めるようにします。しかし、DB に保存するときは、NHibernate にオブジェクトもSection
永続化してもらいたい:Article
現在、SaveOrUpdate
エラーなしで終了しますが、本格的なArticle
オブジェクトは部分的にしか保存されません。つまり、そのContent
プロパティの値が DB に到達することはありません。
Article
個別に保存( session.Save(new Article(...));
) すると期待どおりに機能し、マップされたすべてのプロパティが保存されます。
要約すると、ArticleMetadata
とArticle
オブジェクトの両方をSection.Articles
コレクションに追加し、それらを適切に保存したいと考えています。この種の動作はまったく可能ですか?
nhibernate - NHibernate でサブクラスを使用する場合の「複数基準の実行エラー」例外
NH を使用して、次のクラスを次のテーブルにマップしようとしています。
テーブル:
そのために使用しようとしたhbmは次のとおりです。
次のコードを使用して、すべての従業員レコード (従業員とキャッシャー) を読み込もうとすると、次のようになります。
(ここで、T は従業員です)、次の例外が発生します。
私が持っていた他の発見:
新しいプロパティを Cashier クラスに追加すると、NH は対応するフィールドを Employees ではなく Persons で検索します (予期した場所で Employees に追加しました)。
(追加のプロパティを追加するために) Cashier サブクラス要素内で Employees テーブルの同じ結合を明示的に指定すると、上記と同じ例外が発生します。
ここで何が間違っていますか?
PS: 私見、ここで何か間違ったことをしている場合でも、NH はここでより説明的な例外を提供する必要があります。
java - Hibernate 継承の実装の問題
1つのhbmファイルを書きたいです。
私のクラス階層は
今、
いくつかの基準に応じて ClassA または classB のオブジェクト型を持つ ClassMain という別のクラスを作成しています (ClassMain の列の型など)。
私のモデルクラスで私が書いた
さて、これを実装する方法をhbmファイルで教えてください...???
または、同じことを実装するための他の選択肢を教えてください。
java - 休止状態の継承。スーパークラスの属性
アクセスできないクラスをマップする必要があります。
私のテーブルは自動生成され、サブクラスでのみ列を生成します。スーパークラスに注釈を付けるアクセス権がない場合、どうすればスーパークラスをマップできます@Inheritance
か?
試してみまし@AttributeOverrides(value = { @AttributeOverride( name = "username", column = @Column(name = "username")) })
たが、うまくいかないようです