問題タブ [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.
java - Hibernate JPA の 1 対 1 の子クラス エンティティの保存
PrimaryKeyJoinColumn
親側で注釈付きを使用して1対1の関係があります。そして今、子エンティティを単独で保存したいと思います。
たとえば、子エンティティとして保存する必要がありますEmployee
(もちろん、親の id プロパティを設定した後)。ただし、このような配置を使用すると、以下にリストされている例外が発生します...EmpInfo
EmpInfo
休止状態がこれを許可しない理由はありますか? より明確にするために、私が持っているコードは以下のとおりです...
親エンティティ:
子エンティティ:
私がそれを保存しようとする方法は...
子エンティティを保存するにはどうすればよいですか?
mysql - 多対多から一対一への変換 (mysql)
データベース スキーマを変更し、結合テーブル accounts_users を使用して、ユーザー/アカウント間の関係を 1 対 1 から多対多に移動しました。
したがって、アカウント、ユーザー、accounts_users (user_id および account_id) があります。
データはまだ 1 対 1 であり、元に戻すことにしました。だから私は戻るためにSQLが必要です:
移行するには、次を使用しました:
戻るために、私は試しました:
これらはすべて、何らかのSQLエラーを引き起こします。私のSQLがあいまいで、ある種のselect firstまたはminなどが必要なためだと思います。
**明確にするために、データにはまだ1対1の関係があると確信していますが、既存のテーブルから元のテーブルにデータを戻すためのSQLを理解できません。私が探しているのは、accounts_users からデータを取得し、user_id を account テーブルに入れる実用的な SQL です。ありがとう、ジョエル
hibernate - 二次テーブルまたはOnetoOneアソシエーション?
次の「モデル」を検討します。
「fromUser」のような単純なHQLクエリで、次のSQLを生成するように、(アノテーションを使用して)正しいHibernateマッピングを検索/作成しようとしています。
@Secondarytableから@OneToOneアソシエーションまで、すべてを試しましたが、機能させることができません。
私が今得ている最良の結果は、複数のSQLクエリを生成する@OneToOneアソシエーションを使用したものです。1つはUSERで行をフェッチし、結果セットの各行に対してUSER_EXTからクエリを選択します。
これはまったく効果がありません。
何か案が ?
java - (1+N) は OnetoOne 関連付けで選択します
次のモデルを検討します。
実行時:
ハイバネート実行
特定のプロパティを持つクエリを使用すると機能します (u.firstName、u.userExt.cdpId を選択)。
ただし、完全な User Entity (「from User」) が必要なため、hibernate は最初の結果行ごとに 1 つの選択を生成します。
デフォルトのフェッチ戦略はEAGERではなくLAZYであるべきなので、私はそれを理解していません。LAZY に強制しても問題は解決しませんでした。
c# - Entity Framework 4 Code First (POCO) を使用して 1 対 1 の関係を宣言する方法
Entity Framework 4 Code First (POCO) を使用して 1 対 1 の関係を宣言する方法は?
この質問 (Entity Framework 4 での一対一の関係)を見つけましたが、回答が参照している記事は役に立ちませんでした (1 対 1 の関係であるコード行が 1 行ありますが、それを定義する方法については言及されていません)。 )。
sql - RDBMS では、関係が 1 対 1 の場合、両方のレコードが互いに指している場合に役立ちますか、それとも 1 つだけで十分です (両方を指している必要はありません)。
私は本を読んでいましたが、User
has some moreについて話しているUserDetail
ので、UserDetail
はuser_id
Users テーブルを指しています。それをちょっと忘れていましたが、UserDetail レコードを指すようにUsers
テーブルにフィールドを持つことはまったく役に立ちますか?user_detail_id
これは Ruby on Rails でもそうで、Users
テーブルには がありませんuser_detail_id
が、UserDetail
テーブルには がありますuser_id
。とUser
モデル使用has_one :user_detail
、UserDetail
モデル使用中belongs_to :user
。
一対多の関係の場合、「多」側ではforeign_id
「一」側を指す必要がありますが、「一」側は指し示す必要がないというのは理にかなっています。 「多」側なので、1 対 1 の場合は両方向を指す必要はないように見えます。一方の側で十分なためです。
python - djangoの1対1の関係は、名前を子オブジェクトにどのようにマップしますか?
ドキュメントの1つの例を除けば、djangoが親オブジェクトから子オブジェクトにアクセスできる名前をどのように正確に選択するかについてのドキュメントは見つかりません。彼らの例では、彼らは次のことをします:
したがって、彼らの例では、その名前を明示的に定義せずに、単にp1.restaurantを呼び出します。Djangoは、名前が小文字で始まることを前提としています。FancyRestaurantのように、オブジェクト名に複数の単語が含まれている場合はどうなりますか?
補足:この方法でUserオブジェクトを拡張しようとしています。それが問題かもしれませんか?
nhibernate - nhibernate で 1 対 1 の関係を設定するにはどうすればよいですか? (現在は異物を返しません)
私にはユーザーがいて、そのうちの何人かは従業員です。これは 1 対 1 の関係であり、すべてのユーザーが従業員であるとは限りません。
ユーザーを取得すると、従業員情報が返されないようで、null としてマークされているだけです。nhibernate については理解できたと思いますが、マッピング ファイルで非常に多くのプロパティを試してみましたが、うまくいきませんでした。私が間違っていることについてのアイデアや指針はありますか?
ユーザー クラス:
ユーザー マッピング:
従業員クラス:
従業員のマッピング:
nhibernate - 休止状態の継承
私は2つのテーブルを持っています:
- call_records
- crm_call_records
call_records は、crm_call_records とそれに対応するクラスが異なるアセンブリに存在することを知りません。したがって、call_records のマッピング ファイルにサブクラス マッピングを追加できません。
crm_call_records には、call_records の PK の値を含む call_record_id という名前の列があります。
マッピング ファイルはどのように表示されますか?
nhibernate - Hibernate の 1 対 1 マッピング、非主キー
NHibernate に正しいクエリを生成させることができません。1 対 1 の関係のために結合している 2 つのテーブルの主キーを使用し続けますが、テーブルの 1 つで外部キーを指定する方法がわかりません。
したがって、tableA は tableA.bID = tableB.bID を使用して tableB に結合する必要があります。tableA のマッピングでこれを指定するにはどうすればよいですか? tableA クラスを使用して tableA から行を取得し、tableB から行を取得しています。これは実際の 1 対 1 の関係です。
NHibernate は tableA.aID = tableB.bID を使用してテーブルを結合するための SQL を生成しますが、これは間違っています。
これは動作しません: