問題タブ [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 投票する
10 に答える
3594 参照

sql - 1対1のデータベース関係?

空き時間に、データベース バックエンドを備えた小さなマルチプレイヤー ゲームを書き始めました。私はプレイヤーのログイン情報をゲーム内の他の情報 (インベントリ、統計、ステータス) から分離しようと考えていましたが、友人がこれを持ち出したのは最善のアイデアではないかもしれません.

すべてを 1 つの表にまとめたほうがよいでしょうか。

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

nhibernate - 2 番目のテーブル データが null になる可能性がある NHibernate の 1 対 1 マッピング

テーブル Transactions を含む既存のデータベースがあります。各トランザクションが最終的に 1 つのレコードしか持たない TransactionSequence という新しいテーブルを追加しました。シーケンス テーブルを使用して、特定のアカウントのトランザクションをカウントしています。これを、TransactionSequence が TransactionId の主キーを持つ 1 対 1 のマッピングとしてマッピングしました。

制約は、トランザクション テーブルに代わりのトリガーがあり、キャンセルまたはポストされたトランザクションの更新が許可されないことです。

したがって、シーケンスが計算されてトランザクションが保存されると、NHibernate は「UPDATE Transaction SET TransactionId = ?」のようにトランザクションの更新を送信しようとします。WHERE TransactionId = ?'. しかし、これはトリガーのために失敗します。新しい TransactionSequence テーブルが挿入されたときに NHibernate が Transaction テーブルを更新しないようにマッピングを構成するにはどうすればよいですか?

トランザクション マッピング:

そして、シーケンス マッピング:

どんな助けでも大歓迎です...

0 投票する
5 に答える
28587 参照

java - Hibernate での主キー @OneToOne マッピングの例が必要

Hibernate での一方向の @OneToOne 主キー マッピングの例を教えてください。私は数多くの組み合わせを試しましたが、これまでのところ私が得た最高のものはこれです:

Hibernate が上記のマッピングのスキーマを自動的に生成しようとするときはいつでも、PaperCheque の id タイプである long としてではなく、blob として主キーを作成しようとします。誰か助けてくれませんか?正確な解決策が得られない場合は、近いもので解決できますが、ご回答いただければ幸いです。

0 投票する
3 に答える
1536 参照

sql - 適切な 1 対 1 のマッピング テーブル

2 つの異なるデータ セット間のマッピング テーブルとして機能する 2 つの整数列を持つテーブルを作成し、それに正しい制約を設定したいと考えています。

最初に 2 つの列を複合主キーとして設定しましたが、それが多対多を表し、多対多マッピングの重複が発生しないようにするだけであることに気付きました。

両方の列がすべての行で一意の整数になるように指定するにはどうすればよいですか? 私は MS SQL を使用していますが、これは一般的なデータベース設計の問題だと思います。

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

java - ORM: 非主キー結合列の OneToOne マッピング - ISBN によってマップされた本と目録

ISBN 番号でマップされた Book モデルと Inventory モデルがありますが、ISBN はどちらの主キーでもありません。Books は Bookstore に属し、Inventory は Bookstores のグループ (BookstoreChain) に属します。在庫は BookstoreChain に属するすべての書店で共有されます。

本側で Hibernate @OneToOne マッピングを使用して、ISBN 列に参加して在庫情報を取得しています。どういうわけか、Hibernate は左外部結合クエリを正しく生成しますが、Book オブジェクトの在庫は null です。遅延ロードもありません。Bookstore と Chain を無視して、OneToOne または ManyToOne 結合を実行し、Books が取得されたときにインベントリを取得するにはどうすればよいですか?

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

java - JPA OneToOne関係でアイテムを変更した後、どのように行を削除しますか?

JPA/HibernateでOneToOneアイテムを自動的に削除するにはどうすればよいですか? 含まれるクラスで OneToOne アイテムを null に設定するだけで、Hibernate がそれを削除できるほどスマートになると思います。

単純なオブジェクトが与えられた場合、単純化されます。

Item が Container に設定されると、Container はマージされて永続化され、行が挿入されます。

ただし、アイテムが null に設定されているか、別のアイテムに設定されている場合、古いオブジェクトはテーブルにまだ存在します。

では、これらの OneToOne オーファンを削除するにはどうすればよいでしょうか?

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

ruby-on-rails - 基本的な Rails の質問: 1 対 1 の関係

RoR についての私の理解は悲しいことに欠けています。1 つのビューで維持したい 3 つの 1 対 1 の関係があります。私は次のモデルを持っています:

Ood は Female_Trait テーブルまたは Male_Trait テーブルのいずれかにエントリを持ちますが、両方には持ちません。私の OodController でスキャフォールディングされた新規作成/編集/更新定義を微調整する試みは成功しませんでした。以下は、私の OodController の誤ったロジックの例です。

欠けている概念は何ですか?

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

nhibernate - NHibernate、1 対 1 のマッピング、カスケード挿入

Company クラスと CompanySettings クラスの間には 1 対 1 の関係があります。新しい Company オブジェクトを作成すると (CompanySettings オブジェクトは、その Settings プロパティの Company コンストラクターで作成されます)。

INSERT が Company から CompanySettings にカスケードすることを期待しています。ただし、CompanySettings オブジェクトでも明示的に SaveOrUpdate を呼び出さない限り、これは起こりません。

以下に示すマッピングファイル:

Company Settings クラスのマッピング ファイル:

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

java - プロキシを使用したレイジー 1 対 1 が機能しない

ディーラーと売り手の間に 1 対 1 の関係がありますが、これはプロキシを使用するのが面倒です。外部キーが定義されている側 (販売者、販売者を参照) では、これは正常に機能します。しかし、反対側からはうまくいきません - 売り手は常に熱心に積み込まれています. 「遅延読み込みに関するいくつかの説明」constrained="true"で説明されているように設定しましたが、役に立ちませんでした。

使用されるマッピングは次のとおりです。

両方のクラスが 1 つのテーブルに存在することは問題ですか? 厳密に言えば、関係はデータベースに制約されていません (このモデルを使用することはできません) が、ドメイン モデルには常に両方のエンティティが必要であり、アプリケーションはこれを保証します。