問題タブ [one-to-one]

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

nhibernate - NHibernate:複合キーの多対1マッピング:プロパティを解決できません(外部キーコンポーネント)

誰もが助けてくれることを願っています。私はこのサードパーティのデータベースに対して開発する必要があり、私は彼らのくだらないデザインに固執しています。それでも、NHibernateを使用したいので、フープを飛び越えなければなりません。

簡略化すると、「Transportation」テーブルの関係を持つこの「Event」テーブルがあります。トランスポートテーブルには、フィールド「ID」と「FK_EventID」で構成される複合主キーがあります。後者はもちろん、イベントレコードを参照します。各イベントは、輸送テーブル内の1つの別個のレコードを指しているため、実際には1対1の関係になります。どちらのフィールドもGuidsBTWです。

これをマッピングしようとすると、これがクラスの作成方法です(簡単にするために他のデータフィールドは省略します)。

と:

マッピングファイルで私はこれを試みています(私は多対1を使用していることに注意してください):

と:

これを実行しようとすると、次の例外メッセージが表示されます。

NHibernate.QueryException:プロパティを解決できませんでした:FK_TransportationID of:FcoLib.FcoEvent

私の最初の予感は、フィールド名にスペルミスがあるかもしれないということでしたが、それは当てはまりませんでした。だから今、私は完全に困惑していて、どのように進めるかがわかりません。どんな助けでも大歓迎です。Thnx。


アップデート

エラーの原因を見つけたと思います。マッピングエラーだと思っていたので、まだ調べていませんでしたが、クエリエラーのようです。これは、クエリを実行する場所で発生します。

これについてさらに詳しく調べますが、明らかに別の方法でこれを照会する必要があります...

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

hibernate - Hibernate でのクエリの選択中に挿入を防止する

私は休止状態が初めてです。選択クエリを実行しようとしているときに問題があります

(Hibernate テンプレートを使用) Hibernate は、Foo テーブルと 1 対 1 で関連付けられているテーブル 'Foo2' にレコードを挿入しようとします。

ビーンフー

Foo.hbm.xml

ビーンフー2

Foo2.hbm.xml

使用法

これは私が得ているものです...

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

math - 1対1で機能し、セットから別のセットに機能します

XからYまでの1対1の関数がある場合、YからXまでのon関数があることどこかで見ました。理解できません!! 誰かが説明できますか?

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

entity-framework-4 - Entity Framework 4 での 1 対 1 のエラー

私はすでにEntity Framework One-To-One Mapping Issues を読みましたが、ここではビジネス ルールの仕様が異なるため重複していません。

Invoices と Orders の 2 つのテーブルがあります。

問題は、プロパティの名前が同じでない場合、EF はこの関連付けに 1 対多の関係を必要とすることです。プロパティの名前が同じであれば、派生クラスの目的を果たしますが、ここでは Order は派生クラスでも請求書でもありません。

InvoiceID はショッピング カートごとに生成されますが、OrderID は支払い済みの請求書に対してのみ生成されるため、すべての注文に InvoiceID がありますが、すべての注文に対応する請求書はありません。

このために別のテーブルを作成すると、それを行うにはあまりにも多くのコードを書かなければなりません。この制限を削除して、EF に引き続きモデルを処理させる方法はありますか?

ただし、現在、次のようにモデルを変更すると、機能します

しかし、これは良い習慣ですか?定義上、Orders テーブルの InvoiceID は確かに一意ですが、比較のためにどこでも OrderID を参照し、他の多くの参照を行うためです。プロパティをインデックス化できることはわかっていますが、このデザインが完璧だとは思いません。

1 対 1 のエラー

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

hibernate - hibernate 3.6 で単純な共有主キーの 1 対 1 マッピングをカスケード保存する方法

両方が主キーを共有する別のエンティティと 1 対 1 の関係を持つエンティティの単純な休止状態の例が必要です。主キーを自動生成するメイン エンティティのみを保存する必要があり、他の依存エンティティは自動的にカスケード保存されます。例えば:

これら 2 つのエンティティを簡単にセットアップできました。ただし、最初に人を保存してから、休止状態で名前を保存する必要があります。人を救うだけでいいということは非常に重要です。

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

fluent-nhibernate - Fluent NHibernateを使用して1対1の親子テーブルをクラスに折りたたむにはどうすればよいですか?

これらの既存のテーブルを以下のクラスにマップするにはどうすればよいですか?

私は次のテーブルを持っています:

Electronic、Phone、Postalの各テーブルは、Contactと1対1の関係にあります。テーブルUserContactは、Contactと多対1になっています。UserContactは、UserとContactの間の関連付けテーブルです。

次のクラスもあります。

それで、私は4つの連絡先テーブル(親と子)から3つのクラスに至るまで取得しますか?そして、これら3つのクラスをUserContactテーブルにマップするにはどうすればよいですか。クラスごとに1つずつ、合計3つのIListを持つことができると想定しています。

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

hibernate - PrimaryKeyJoinColumn の CheckNullability

ObjectX 属性を持つ Entity クラスがあります。

この ObjectX を null にすることはできませんか?

Hibernate 3.4 ではこのオブジェクトを問題なくリポジトリに保存できましたが、Hibernate 3.6 では次の例外がスローされます。

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

nhibernate - Fluent NHibernate マッピング (条件付きの 1 対 1)

設計が不十分なデータベース構造を「クリーン」にしようとしています (少なくとも私の ORM では)。

テーブル構造は次のようなものです。

そこで、顧客用と住所用の 2 つのクラス (エンティティ) を作成しました。

顧客の請求先住所を取得するクエリは次のようになります。

請求先住所と配送先住所は、顧客ごとに 1 つのみにする必要があります。これまでのところ、流暢なクラスマップは次のようになります。

HasOne を使用する必要があるかどうかもわかりません... 1 対 1 のマッピングである必要があります。WHERE Address.memberID = Members.customerID請求と配送を区別するために、「where」節 (IE) を取得するにはどうすればよいですか? また、トップ1はどうですか?Join使用できることはわかっていますが、where句を追加するための流暢な関数が表示されません。

残念ながら、データベース構造を変更することはできません。

ありがとう

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

nhibernate - NHibernateで1対1またはコンポーネントから選択します

次のように、クラスUserとProfileをマップしようとしています。

したがって、これらは1対1の関係とコンポーネントの関係の両方としてマッピングできます。そして、何人かの人々がコンポーネントを評価し、1対1は悪い習慣だと思うのを見つけました、なぜですか?パフォーマンス上の理由で?ただし、多くのシナリオ(asp.net2.0メンバーシップなど)では、2つの別個のテーブルとして設計されています。

どのように選ぶべきですか?どの側面を考慮する必要がありますか?コンポーネントは「値オブジェクト」を意味しますが、エンティティではないことを知っていますが、これはさらにいくつかのことを意味しますか?

ps:そして、私をさらに混乱させたのは、現実の世界では1対1の関係であっても、多対1を使用する必要があるという意見です。

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

ruby-on-rails - Rails 3結合クエリを実行するには?

私は次のモデルを持っています

特定の役割を持つユーザーのプロファイルを選択するには、アクティブなレコード クエリを実行するにはどうすればよいですか?