問題タブ [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 に答える
23398 参照

hibernate - @OneToOneと@JoinColumn、nullエンティティの自動削除、実行可能ですか?

2つのエンティティがあり、次のJPAアノテーションが付いています。

所有者とデータには1対1のマッピングがあり、所有側は所有者です。実行すると問題が発生します:owner.setData(null); ownerDao.update(owner) ; 「Owner」テーブルのData_idがnullになります。これは正しいです。

ただし、「データ」行は自動的に削除されません。別のDataDaoと、2つのアクションをラップする別のサービスレイヤーを作成する必要があります(ownerDao.update(owner); dataDao.delete(data);)

所有する所有者がデータ行をnullに設定したときに、データ行を自動的に削除することはできますか?

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

mysql - 1 対 1 の関係では、テーブルの id 列の 1 つを削除する必要がありますか?

MySQL には次の 2 つのテーブルがあります: Customer(Id, Firstname, Lastname...) Bonus(Id, CustomerId, Value, ...)

この関係は 1 対 1 であり、すべての顧客には 1 つのボーナスしかありません (CustomerId はボーナス テーブルで一意です)。

Q: ボーナス テーブルの Id 列を削除する必要がありますか? (私はその理由または理由を知りたい)

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

hibernate - Hibernate コレクションの最適なフェッチ

私は次の構造を持っています

ストア
リベート リベート
メタデータ リベート
コミッション

つまり、関係は次のようになります -

Store -> Rebate は 1 対多の関係です Rebate -> RebateMetadata は 1 対 1 のマッピングです Rebate -> RebateCommission は 1 対 1 のマッピングです

私のクエリは、すべてのストアをロードすることです。そして、すべてのリベート、メタデータ、コミッションをロードします。

私が使用しているHQLは次のとおりです。

ストアとしてストアからストアを選択します。

グラフ全体ができるだけ少ない SQL でロードされることを期待しています。n+1 選択の問題を防ぐために、Store->Rebate 間でサブセレクト フェッチを使用します。

ただし、RebateMetadata と RebateCommission を取得するために、複数の個別の選択 (結合を使用) が起動されていることがわかります。これを最小限に抑えるにはどうすればよいですか?

また、2次キャッシュはONにしていますが、QueryCacheはOFFにしています。

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

sql - SQLServerとLINQの1対1の関係

ユーザーテーブルとプロファイルテーブルがあります。それらが分離している理由は、サイトに登録する前にユーザーに関する情報を入力できるためです。私が遭遇している問題は、SQL Serverで関係を設定するときに、1対多の関係を作成したいということです。これを変更する方法がわかりません。

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

grails - Grails には 1 つの関係と削除があります

たとえば、grails の hasOne 関係で子オブジェクトを削除するにはどうすればよいですか。

2つの方法で子オブジェクトを削除してみました

どちらの方法でも、常に同じ例外 Deleted object resaved by cascade が発生します。もう 1 つ、hasOne の動的メソッド (hasMany の addTo や removeFrom など) はありますか? 何か助けはありますか?

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

java - @OneToOne 双方向アソシエーションを熱心にロードするために hibernate が 2 つのクエリを実行するのはなぜですか?

i には B エンティティを持つエンティティ A があり、B には @OneToOne 双方向関連付けを持つ A があります。

ここで、すべての A レコードを見つけると、hibernate は B で左外部結合を使用して次のような 2 つのクエリを実行します。

最初のクエリで A フィールドと B フィールドをロードすれば問題ありませんが、2 番目のクエリを実行して A をリロードするのはなぜですか? このクエリは A のコンテンツを B にロードすると思いますが、この A は明らかに B を含む A です...最初のクエリで既にロードされているので、そうではありませんか?

- 編集 -

エンティティ A:

エンティティ B:

これが状況であり、A の findAll には 2 つのクエリが必要です...なぜですか?

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

.net - 複合キーを使用した 1 対 1 の関係マッピング

私はこのようなデータベースを持っています: 私の質問は、「キャッスル アクティブ レコードを使用してこのデータベースをマッピングする方法は?」です。

代替テキスト http://cA4.upanh.com/11.396.15558077.LNS0/onetoonewithcompositekey.jpg このコードを試してみました: キャンペーン:

キャンペーンのメッセージ:

メッセージ:

しかし、エラーが発生しました:

次の列マッピングが壊れています: IMobileMarketing.Models.Message の MessageOfCampaign.id、タイプ コンポーネント [MessageID,CampaignID] は 2 つの列を想定していますが、1 つがマップされました

0 投票する
8 に答える
35820 参照

python - DjangoでOneToOneFieldがNoneであるかどうかを確認します

私はこのような2つのモデルを持っています:

ユーザーがType1またはType2プロファイルを持っている場合は、何かをする必要があります。

ただし、type1またはtype2プロファイルを持たないユーザーの場合、そのようなコードを実行すると、次のエラーが発生します。

ユーザーが持っているプロファイルのタイプを確認するにはどうすればよいですか?

ありがとう

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

database - データベースで「1対1」の関係をモデル化することは、「継承」をモデル化することと同じですか?

1 対 1 の関係と継承関係 (Table-Per-Type) のモデリングに違いがあるかどうか疑問に思っていました。どちらの場合も、UNIQUE 制約を使用して外部キーを追加するか、FK が PK の一部である場合があります。

テーブル構造は同じように思えますが、何かが足りないのかもしれません。

前もって感謝します。

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

hibernate - Hibernate+JPA の 1 対 1 の関係

私はこのような一対一の関係を持っています:-

ここで person テーブルの id は自動生成されますが、Others テーブルの id は外部キーです。これら 2 つのテーブルをリンクするにはどうすればよいですか。