問題タブ [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.

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

java - JPA-1対多の関係を維持する

多分これはばかげた質問ですが、それは私を悩ませています。

私は、従業員と車両の双方向の1対多の関係を持っています。従業員をデータベースに初めて永続化するとき(つまり、IDが割り当てられていないとき)、関連する車両も永続化する必要があります。

保存したVehicleエンティティが関連するEmployeeを自動的にマップせず、データベースでVehicleテーブルのemployee_id外部キー列がnullであることを除いて、これは現時点では問題なく機能します。

私の質問は、車両の従業員を永続化すると同時に、従業員自体を永続化させることは可能ですか?従業員を最初に保存し、次に車両を保存する必要があることを理解しています。JPAはこれを自動的に行うことができますか?または、次のようなことをする必要がありますか?

ありがとう!

編集:要求に応じて、これが私のマッピングです(他のすべてのメソッドなどはありません)

Employeeクラスで次のメソッドを定義する必要があることに気づきました。

上記のコードは次のようになります。

はるかにシンプルでクリーン。みなさん、ありがとうございました!

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

asp.net-mvc - Asp.net MVC-EntityFrameworkを使用してorder-orderDetailsオブジェクトを追加する方法は?

EntityFramework を使用して、oreder-orderDetails などの 1 対多の関係オブジェクトを使用するアプリケーションがあります。

いくつかの orderDetails オブジェクトを使用して新しい注文を追加できるようにするビューを使用したいと考えています。

List orderDetails プロパティを持つ注文オブジェクトを返す厳密に型指定されたビューを作成できますが、orderDetails を設定することはできません。

誰にも解決策がありますか、それを行う方法はありますか?

前もって感謝します

ガブリエル

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

sql - 指定されたリストへのサブスクリプションを持っていないユーザーを検索するための SQL クエリ (多対多)

"users" と "lists" の 2 つのテーブルと、ユーザーをリストに関連付ける多対多の "subscriptions" テーブル (したがって、外部キーuser_idとを持つlist_id) がある場合、単一の SQL クエリで、リストにないすべてのユーザーを見つけることができます。特定のサブスクリプションを持っていますかlist_id(当然、サブスクリプションをまったく持っていないユーザーも含まれます)。

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

doctrine - 制限のある関係表による教義の順序

「シリーズ」と「プログラム」の2つのテーブルがあり、プログラムは多対1のシリーズです。

シリーズ表

プログラム表

Doctrine(1.2)で、最新のプログラムを含む2つのシリーズ、この場合はシリーズ2、続いてシリーズ1を取得したいと思います。プログラムの最後の2行を参照してください。

私の推測は次のようになります:

しかし、これはシリーズ4とシリーズ3を返します。問題は、MySqlがサブクエリで制限を使用できないため、Doctrineがデータが含まれるクエリを実行する前にIDを取得する別個のクエリを使用することです。

私の質問ですが、 DQLを介してシリーズ2シリーズ1をどのように入手しますか?

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

nhibernate - ドメインモデルの関係エンティティを使用して、両端を親として作成する多対多の関連付けをNHibernateします。

エンティティ:チーム<->TeamEmployee<->従業員

要件:

  • チームと従業員は、対応するものがなくても存在できます。
  • Team-TeamEmployeeの関係では、チームが責任を負います(親) [後でTeamRepositoryを使用]。
  • Employee-TeamEmployeeの関係では、従業員が責任を負います(親) [後でEmployeeRepositoryを使用します]。
  • 複製は許可されていません。
  • 従業員が別のチームに属していない場合、チームを削除すると、チーム内のすべての従業員が削除されます。
  • チームに従業員が含まれていない場合、従業員を削除すると、チームのみが削除されます。

マッピング:

従業員とチームの作成:

この後、transaction.Commit()を使用して変更をコミットします。最初の奇妙なことは、チームと従業員を1つだけではなく、保存する必要があることです(なぜですか?!)。すべてのチームまたは(Xor)すべての従業員のみを保存すると、TransientObjectExceptionが発生します。

「オブジェクトは保存されていない一時インスタンスを参照しています-フラッシュする前に一時インスタンスを保存してください。タイプ:Core.Domain.Model.Employee、エンティティ:Core.Domain.Model.Employee」

作成したすべてのチームと従業員を保存すると、すべてが正常に保存されますが、リレーションテーブルTeamEmployeeには重複した関連付けがあります。

したがって、4つの関係の代わりに8つの関係があります。左側に4つの関係、右側に4つの関係。:[

何が間違っていますか?

その他の質問:チームまたは従業員を削除する場合、オブジェクトモデルのTeamEmployeeリストからチームまたは従業員を削除する必要がありますか、それともNHibernateが(session.delete(..)を使用して)私に代わって仕事をしますか?

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

subsonic - SubSonic シンプル リポジトリ 1 対多

私は次のようなクラスを作りました:

そして別のような

次に、次のようなコードがあります。

VideoCategory がデータベースに保存されないため、明らかに何かが不足しています。1 対多の関係を維持するには、他に何をする必要がありますか?

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

django - Django:次を達成するためにモデル関係を定義する方法は?:

私のアプリには、それぞれが 1 つの課金プロファイルを持つクライアントがあります。

「 BillingProfile 」という別のモデルを参照する「 billing_profile 」という属性を持つ「 Client 」モデルを持つアプリを想定しています。「クライアント」に戻る外部キーを使用して「 BillingProfile 」を定義するのではなく(つまり、「 client = models.ForeignKey(Client)」)、クライアントごとに単純に使用できる請求プロファイルが 1 つしかないため、と考えていました。代わりに 1 対 1 のフィールド。これは理にかなっているように見えますか、それとも後ろ向きに見えますか (その場合、クライアントを確立する前に BillingProfile を作成する必要があります)。それを理解する私のパラダイムに対してこれを行う良い方法はありますか?

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

django - Django: Choices=Customer.objects.filter(account=self.account) の ForeignKey

「自己」に使用できるインスタンスがないため、明らかにこれは機能しませんが、ここで何をしようとしているのかがわかります。私はあなたがアカウントを持つことができるシステムを持っています. アカウントはクライアントを持つことができ、クライアントはチケットを作成できます。アカウント所有者 A がシステムにログインしてチケットを作成し、それをアカウント所有者 B のクライアントに割り当てることは明らかに望んでいません。このように選択肢を制限するにはどうすればよいでしょうか、それともそもそも間違っているのでしょうか?

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

cocoa - CoreData で関連オブジェクトのリンクを解除して削除するにはどうすればよいですか

別のエンティティと排他的な 1 対多の関係を持つコア データ エンティティがあります。この関係は、最初のエンティティが 1 つ以上の 2 番目のエンティティを含む基本的な包含であると想定されています。2 番目のエンティティのインスタンスは、最初のエンティティの 1 つにのみ含めることができます。

含まれているすべてのエンティティを最初のエンティティから削除してから削除できるようにしたいと考えています。どうすればいいですか?関係を削除してからエンティティごとに deleteObject を呼び出すか、含まれているエンティティごとに deleteIObject を呼び出すと、関係が正しく設定されます。2 番目が true の場合、含まれているエンティティを列挙して deleteObject を呼び出すか、最初にセットのコピーを作成する必要があります (オブジェクトごとに deleteObject を呼び出すと、通常の列挙では許可されていないセットが変更されます)。

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

sql - 一対多テーブルからのSQL選択

以下の列を含む3つのテーブルがあります。

メッセージは複数のトピックに関するものです。質問: いくつかのトピックが与えられた場合、これらすべてのトピックに関するメッセージを取得する必要がありますが、他のトピックに関するメッセージも含まれる可能性があります。これらの特定のトピックの一部に関するメッセージは含まれません。私の要求をうまく説明できたと思います。それ以外の場合は、サンプル データを提供できます。ありがとう