問題タブ [joined-subclass]

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 投票する
3 に答える
3314 参照

nhibernate - Fluent Nhibernate 1.0 - クラスと結合されたサブクラス間の外部キー制約名を指定する

これは簡単なはずだと思いますが、その方法がわかりません。次のマップがあるとします。

私が期待するようにテーブルを作成します:

前述のように、FK はデータベースによって生成され、最終的に FK3500ABA0D になります。私がやりたいのはその制約の名前を設定することだけですが、Fluent NHibernate (または実際には単純な NHibernate でさえも) を介してそれを行う方法が見つかりません。

それで、私は何が欠けていますか?

0 投票する
0 に答える
5565 参照

c# - Fluent nHibernate - 複数のテーブルでSubClassesOnColumnを区別しますか?

私はサブクラスに頭を悩ませ、Fluent nHibernate のサブクラスに参加しようと数日間試みてきましたが、何の進展もありませんでした。wiki を調べましたが、十分な情報が得られないようで、グーグルで検索すると、価値の低いコードを使用しているか、一見関係のない古い結果が返されます。

可能であれば、簡単な例が欲しいだけです

次のような 4 つのテーブルがあります。

したがって、Animal テーブルには、テストとして、1 つの Id のみを含むルックアップ テーブルである AnimalType テーブルを参照する FK があります。

1 = 爬虫類

AnimalTypeId 列は、サブクラスを分割する識別子列であり、各動物テーブル (爬虫類) には、AnimalTypeId に応じて Animal テーブルの Id を参照する FK プライマリ キーがあるという考えです。

したがって、私のC#クラスは次のようになります

これをテーブルごとのサブクラスとしてマップするにはどうすればよいですか?

これが私の現在のマッピングです。

それはほとんど機能しますが、サブクラスが別のテーブルからのものであることを認識していないようです。HBM マッピングは以下のとおりです。

編集: エンティティの重複に関して以前に問題がありました。解決策は次のコメントにリンクされています。

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

nhibernate - 簡単な結合サブクラスの例では、ベース テーブルの ID 列を更新しようとしています

このエラーを発生させるには、概念上非常に重要な何かが欠けているに違いないので、助けていただければ幸いです。

----> System.Data.SqlClient.SqlException : ID 列 'ProductID' を更新できません。

これを実行すると

ロードは正しく機能し、すべてのプロパティを検査できますが、更新は失敗します。

マッピングファイルはこちら

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

.net - FluentNHibernateJoinedSubClassは廃止されました

なにかしら。私はここに解決策を持って座っています。2つのサブクラスを持つ1つのスーパークラスがあり、現在、JoinedSubClassを使用してこれをマッピングしていますが、このメソッドは廃止されており、ClassMapとSubClassMapが必要であると言われていますが、これを行うとAutoMappingは機能しません、そして私はそれを望んでいません。これに対する回避策はありますか?

階層は次のとおりです。

おそらくお気づきかもしれませんが、これを階層ごとのテーブルにしたいのです。多対多のリストを持つサブクラスをマッピングします。テーブル'Tag'のように、次にTag_RespondentとTag_Archive(多対多の関係の場合)。

現在使用しているマッピングは次のとおりです。

誰かがこれを解決するための回避策または別の解決策について知っていますか?(自動マッピングを無効にせずに)

任意の回答をいただければ幸いです。

前もって感謝します!

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

fluent-nhibernate - FluentNHibernate で SubClass を使用する場合、サブクラス テーブルで PK の名前を指定するにはどうすればよいですか?

Fluent NHibernate でサブクラス マッピングを試みています。

親クラスのマッピングでは、ID 列名を指定して、FNH の推測が正しく行われないようにする必要があります。

また、サブクラス マッピングで ID (または必要に応じて外部キー) フィールド名を指定する必要があります。これは、FNH も間違って推測しているためです。それ、どうやったら出来るの?

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

nhibernate - DDDの原則に違反することなく、Fluent NHibernateでこのオブジェクト階層をモデル化するにはどうすればよいですか?

コントラクトを管理できるドメインモデルを構築しようとしています。

Contractクラスは私の集約ルートであり、現在、Reviewersという単一のプロパティがあります。

レビューアは、コントラクトのコンテキストでは、それぞれがその親コン​​トラクトのプロパティと、名、姓、およびログインを持っています。これらのプロパティがある理由は、ユーザーが契約に必要なレビュー担当者を選択できるようにするためです。

ドメインモデルを結び付けているデータベースはすでに存在し、それは私が拡張しようとしているレガシーシステムです。

契約テーブルとレビュー担当者テーブルがあります。

この時点まで私が言及していないことは、レビューアは実際にはシステムのユーザーであるということです。したがって、実際には3番目のテーブルであるUsersが関係しています。

FNHを使用して契約テーブルを簡単にマッピングすることができました。

これは次のようになります。

しかし、実際にはユーザーでもあるため、レビュー担当者をモデル化する方法がわかりません。したがって、私のオブジェクトモデルは次のようになります。

Userクラスを適切にマッピングできましたが、次のようになります。

レビュアークラスを次のようにマッピングしたいと思います。

だから私が抱えている問題はこれです:

UserテーブルとReviewerテーブルの関係は1対多です。つまり、特定のユーザーには、多くのレビュー担当者レコードが存在する可能性があります。なんで?ユーザーは特定の契約のレビュー担当者である必要があるためです。ただし、これにより、マッピングで問題が発生します。これは、レビュー担当者の主キーとユーザーの主キーが、必然的に完全に異なる値であるためです。

また、Reviewerの使用方法が原因で、新しいReviewerを作成するときに、実際に実行しようとしているのは、ユーザーをコントラクトに関連付けることです。データベースにまったく新しいユーザーを作成しようとはしていません。

ドメインモデルではUserのサブクラスであることを知っているので、Reviewerをマップする正しい方法は何ですか?

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

inheritance - 複数の非キー列を使用した継承結合戦略

2つのクラスがFooありBar、2つの異なるテーブルにマップされており、継承戦略を使用したいのですJOINEDが、2つの非キー列を使用して結合されています。スキーマはかなり奇妙ですが、私はそれに固執しています。これが私の設定です:

@Inheritanceが結合に使用する列をどのように決定するかはわかりませんが、デフォルトでは主キーを使用すると想定しています。主キー以外の1つの列だけでなく、この場合は2つの列に対してそれらを結合したいと思いcolumn1ますcolumn2

私はこれについて間違った方法で行っているかもしれません。ヘルプや提案をいただければ幸いです。ありがとう!

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

nhibernate - NHibernate の Table per Class 階層のサブクラスへの結合

NHibernate で継承をマッピングするサブクラスごとのテーブルを使用しています。親Attributeテーブルと子AccountAttributeテーブルがあります。子AccountAttributeテーブルには、テーブルへの別の外部キーがありCustomerProfileます。テーブルには、テーブルCustomerProfileとの関係が 0 個以上ありAccountAttributeます。AccountAttributesつまり、CustomerProfileクラス に のコレクションがあります。

クラスが正しくハイドレートされるように、NHibernate マッピングでCustomerProfileテーブルをテーブルにマップするにはどうすればよいですか?AccountAttributeCustomerProfileAccountAttributes

テーブル

属性: Attribute_Id (PK)

AccountAttribute: AccountAttribute_Id (PK); Attribute_Id (外部キー); CustomerProfile_Id (外部キー)

CustomerProfile: CustomerProfile_Id (PK)

Attribute/AccountAttribute 階層のマッピング。

Account オブジェクトのマッピング

ありがとう、

カイル

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

c# - 結合されたサブクラスのNHibernateで識別されたサブクラス

これが私の階層です:

これが2つの別々のhbmファイルでの私のマッピングです:

以下は私が得る例外です:

MappingException:XML検証エラー:名前空間'urn:nhibernate-mapping-2.2'の要素'joined-subclass'には、名前空間'urn:nhibernate-mapping-2.2'の無効な子要素'discriminator'があります。

私は何が欠けていますか?結合されたサブクラスの識別されたサブクラス階層をマップできませんか?

0 投票する
4 に答える
367 参照

java - Java サブクラス $

私は Java の初心者で、ばかげているように聞こえるかもしれない基本的な質問をしているかもしれません。

Main Java クラスをコンパイルした後、ほとんどのサブクラスが $ としてフォルダに表示されます。コンパイルしたクラスをコピーし、別の場所に置いて実行します。メインクラスまたはサブクラスの 1 つを変更するたびに、関連するすべてのサブクラスをコピーする必要がありますか? または、変更されたものをコピーするだけで十分ですか?

ありがとう。ニック