問題タブ [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.
nhibernate - NHibernate:複合キーの多対1マッピング:プロパティを解決できません(外部キーコンポーネント)
誰もが助けてくれることを願っています。私はこのサードパーティのデータベースに対して開発する必要があり、私は彼らのくだらないデザインに固執しています。それでも、NHibernateを使用したいので、フープを飛び越えなければなりません。
簡略化すると、「Transportation」テーブルの関係を持つこの「Event」テーブルがあります。トランスポートテーブルには、フィールド「ID」と「FK_EventID」で構成される複合主キーがあります。後者はもちろん、イベントレコードを参照します。各イベントは、輸送テーブル内の1つの別個のレコードを指しているため、実際には1対1の関係になります。どちらのフィールドもGuidsBTWです。
これをマッピングしようとすると、これがクラスの作成方法です(簡単にするために他のデータフィールドは省略します)。
と:
マッピングファイルで私はこれを試みています(私は多対1を使用していることに注意してください):
と:
これを実行しようとすると、次の例外メッセージが表示されます。
NHibernate.QueryException:プロパティを解決できませんでした:FK_TransportationID of:FcoLib.FcoEvent
私の最初の予感は、フィールド名にスペルミスがあるかもしれないということでしたが、それは当てはまりませんでした。だから今、私は完全に困惑していて、どのように進めるかがわかりません。どんな助けでも大歓迎です。Thnx。
アップデート
エラーの原因を見つけたと思います。マッピングエラーだと思っていたので、まだ調べていませんでしたが、クエリエラーのようです。これは、クエリを実行する場所で発生します。
これについてさらに詳しく調べますが、明らかに別の方法でこれを照会する必要があります...
hibernate - Hibernate でのクエリの選択中に挿入を防止する
私は休止状態が初めてです。選択クエリを実行しようとしているときに問題があります
(Hibernate テンプレートを使用) Hibernate は、Foo テーブルと 1 対 1 で関連付けられているテーブル 'Foo2' にレコードを挿入しようとします。
ビーンフー
Foo.hbm.xml
ビーンフー2
Foo2.hbm.xml
使用法
これは私が得ているものです...
math - 1対1で機能し、セットから別のセットに機能します
XからYまでの1対1の関数がある場合、YからXまでのon関数があることをどこかで見ました。理解できません!! 誰かが説明できますか?
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 を参照し、他の多くの参照を行うためです。プロパティをインデックス化できることはわかっていますが、このデザインが完璧だとは思いません。
hibernate - hibernate 3.6 で単純な共有主キーの 1 対 1 マッピングをカスケード保存する方法
両方が主キーを共有する別のエンティティと 1 対 1 の関係を持つエンティティの単純な休止状態の例が必要です。主キーを自動生成するメイン エンティティのみを保存する必要があり、他の依存エンティティは自動的にカスケード保存されます。例えば:
これら 2 つのエンティティを簡単にセットアップできました。ただし、最初に人を保存してから、休止状態で名前を保存する必要があります。人を救うだけでいいということは非常に重要です。
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を持つことができると想定しています。
hibernate - PrimaryKeyJoinColumn の CheckNullability
ObjectX 属性を持つ Entity クラスがあります。
この ObjectX を null にすることはできませんか?
Hibernate 3.4 ではこのオブジェクトを問題なくリポジトリに保存できましたが、Hibernate 3.6 では次の例外がスローされます。
nhibernate - Fluent NHibernate マッピング (条件付きの 1 対 1)
設計が不十分なデータベース構造を「クリーン」にしようとしています (少なくとも私の ORM では)。
テーブル構造は次のようなものです。
そこで、顧客用と住所用の 2 つのクラス (エンティティ) を作成しました。
顧客の請求先住所を取得するクエリは次のようになります。
請求先住所と配送先住所は、顧客ごとに 1 つのみにする必要があります。これまでのところ、流暢なクラスマップは次のようになります。
HasOne を使用する必要があるかどうかもわかりません... 1 対 1 のマッピングである必要があります。WHERE Address.memberID = Members.customerID
請求と配送を区別するために、「where」節 (IE) を取得するにはどうすればよいですか? また、トップ1はどうですか?Join
使用できることはわかっていますが、where句を追加するための流暢な関数が表示されません。
残念ながら、データベース構造を変更することはできません。
ありがとう
nhibernate - NHibernateで1対1またはコンポーネントから選択します
次のように、クラスUserとProfileをマップしようとしています。
したがって、これらは1対1の関係とコンポーネントの関係の両方としてマッピングできます。そして、何人かの人々がコンポーネントを評価し、1対1は悪い習慣だと思うのを見つけました、なぜですか?パフォーマンス上の理由で?ただし、多くのシナリオ(asp.net2.0メンバーシップなど)では、2つの別個のテーブルとして設計されています。
どのように選ぶべきですか?どの側面を考慮する必要がありますか?コンポーネントは「値オブジェクト」を意味しますが、エンティティではないことを知っていますが、これはさらにいくつかのことを意味しますか?
ps:そして、私をさらに混乱させたのは、現実の世界では1対1の関係であっても、多対1を使用する必要があるという意見です。
ruby-on-rails - Rails 3結合クエリを実行するには?
私は次のモデルを持っています
特定の役割を持つユーザーのプロファイルを選択するには、アクティブなレコード クエリを実行するにはどうすればよいですか?