問題タブ [one-to-many]
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.
sql - 1 対多/多対 1 の場合に推奨されるテーブル セットアップ
誰かがポジションの募集を投稿するスクリプトを作成する必要があり、資格のある人は誰でも募集を見ることができますが、そうでない (またはオプトアウトした) 人は募集を見られません。したがって、2 人のユーザーが同じページにアクセスして、異なるコンテンツを表示する可能性があります。そのデータを MySQL DB/テーブルに配置する最善の方法がわかりません。
たとえば、投稿ごとに配置することもできますが、それは次のようになります。
そして、それは間違っているようです (列の CSV スタイル)。または、私は一人で行くことができます:
ユーザー1 投稿1、投稿2
しかし、それは同じ問題です。ユーザーのユニーク、投稿をユニークにして、一致したところだけ参加させる方法はありますか?
決定は、最初に別のテーブル セットに対して一連のクエリを実行することによって行われますが、それが実行されると、ユーザーが位置を投稿した後に変更されないコードの一部を何度も実行するのは効率が悪いようです。
...再考すると、変更される可能性がありますが、変更されないと仮定した場合 (可能性は低く、ユーザーが資格を失ったものを見た場合の影響はほとんどないため)、これに対する標準的な解決策はありますか?シナリオ?
hibernate - 左外部結合フェッチがマップ コレクションを正しく埋めない (HQL)
次のようなマッピングを持つクラスがあります。
CurrencyTable には 1 つの行があり、CurrencyTableRate にはデータベース内の CurrencyTable を参照する 3 つの行があります。
HQL を使用して CurrencyTable を読み込む場合:
rateMap に 3 つのエントリを持つエンティティを取得しましたが、これを試してみると:
rateMap には 1 つのエントリしかありません。
Hibernate によって生成されたクエリを見て、手動で実行しました。予想どおり 3 行が返されたため、フェッチ後にそれらをマッピングする際に問題があるようです。誰もそのような問題に遭遇しましたか? Hibernate バージョン 3.2.6.ga と Oracle 10g を使用しています
java - Hibernate でエンティティをカスタム結合する
注釈付きの Hibernate ベースのシステムがあります。
私たちのエンティティにはカスタム プロパティ DELETED があります。削除されていないサブエンティティを持つ削除されていないエンティティを選択する必要があります。どうすればできるでしょうか?
状況を説明するための小さなサンプル:
Location は GenericEntity エンティティを拡張し、DELETED プロパティも持っています。
削除されていない場所を持つ、削除されていない GenericEntities を選択するにはどうすればよいですか?
hibernate - 主キーに同じ名前を付けずにHibernateでオブジェクトのセットをマップする方法は?
テーブルを表すドメイン オブジェクト クラスがあります。このクラスには別のテーブルへの関連付けがありますが、ソース クラスのプロパティはターゲット クラスのプロパティと同じ名前ではなく、休止状態でマップする方法がわかりません。
以下は、セットを持つクラスの例です (1 つの CT から複数の R インスタンスへ)。
Hibernate はこのマッピングを受け入れますが、存在するはずの CT インスタンスから R のセットを取得すると、空の PersistentSet が取得されます。
各 CT インスタンスに R が存在しないか、複数存在する可能性が十分にあることに注意してください。これが私がそこにコンパレーターを持っている理由です-明示的なSQLなしでORDER BY句を実行する方法をHibernateに簡単に伝える方法を理解できません(Hibernateマッピングに書くのをためらっています.
誰かがここで私を助けてくれますか?
nhibernate - NHibernate /HibernateOneToMany関係でinverse=falseを使用する場合
私はHibernateの逆属性を理解しようとしてきましたが、それは概念的に難しいことの1つにすぎないようです。
私が得た要点は、 1対多のマッピングを使用して子オブジェクトのコレクションを持つ親エンティティ(例:Parent)がある場合、マッピングにinverse = trueを設定すると、Hibernateに'反対側(子)は、テーブル内の外部キー参照を維持するために自身を更新する責任があります。
これを行うことは、コードのコレクションに子を追加し、次に親を保存することに関して2つの利点があるように見えます(カスケードすべてが設定されています):データベースへの不要なヒットを保存します(逆セットがないため、Hibernateはそれを考えますFK関係を更新する場所が2つあります)、および公式ドキュメントによると:
アソシエーションの列がNOTNULLと宣言されている場合、NHibernateはアソシエーションを作成または更新するときに制約違反を引き起こす可能性があります。この問題を防ぐには、inverse = "true"とマークされた多くの値の端(セットまたはバッグ)との双方向の関連付けを使用する必要があります。
これは今のところすべて理にかなっているようです。私が得られないのはこれです:1対多の関係でinverse = trueを使用したくないのはいつですか?
nhibernate - NHibernate に 1 対多の関係を List にマップするように指示する方法IListではありません?
IList インターフェイスではなく、List 型のプロパティに 1 対多の関係をマップするように NHibernate に指示することはできますか?
NHibernate が独自の IList 実装を遅延読み込みに使用していることは知っていますが、この機能は必要ありません。代わりに、シリアライズ可能なクラスが必要ですが、具体的な List クラスの代わりに IList インターフェイスを使用しても実現できません。
linq-to-sql - 一対多の関係で複合外部キー?
LINQ to SQL でデータベースをモデル化しようとしています。テーブルJournalPostsがあります。各エンティティは、1 人以上の送信者または受信者に関連付けられています。テーブル「JournalPosts」に次の複合主キーがあります。
JournalPosts では、次のように 1 対多の関係を定義します。
私の他のテーブル (SenderRecipients) では、次のようにフィールドを定義しようとしました:
問題は、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されることです。データベースを作成しようとするとエラーが発生します。ただし、Association-attributes の代わりに他のテーブル (SenderRecipients) で Column 属性を指定すると、機能します (ただし、列はデータベースで外部キーとして設定されません。これが必要です)。
hibernate - 基準と1対多
enter code here
アイテムのリストに制限を適用したいので、特定の日付のアイテムのみが取得されます。
これが私のマッピングです:
私はこのコードを試しました:
その結果、次の要求が発生します。
に続く
しかし、私が必要としているのは次のようなものです。
に続く
アイテムのリストに基準を適用する方法はありますか?