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

asp.net - VB.NET、LINQ to SQLでチェックボックスリストを使用して1対多の関係を挿入する方法は?

私は3つのテーブルを持っています:

CustomerType
CusID

EventType
EventTypeID

CustomerEventType
CusID
EventTypeID

VB.NET、LINQ to SQLでチェックボックスリストを使用して1対多の関係を挿入する方法は?

次に、挿入されたばかりの最後の EvenTypeID データと、バインドされたfromCustomerEventTypeを使用している CusID のチェックに基づいて、テーブルにデータを自動的に挿入します(2 つの ID があるとします)。CheckBoxList1CustomerType

[挿入] ボタンをクリックすると、EventType テーブルと CustomerEventType テーブルのデータは次のようになります。

EventType
EventTypeID
1

CustomerEventType
EventTypeID.....CusID
1.................................1
1.......... ..........2

私が持っている唯一の質問は、この結果を得るためにVB.NET LINQ-to-SQLを使用して挿入ボタンの背後にあるコードは何ですか?

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

nhibernate - nhibernate マッピングは、挿入されたサブクラスのキーを保存/挿入しません

マッピングを少し変更した後 ( 理由については、cascade-delete に関する他の質問を参照してください)、完全に新しいオブジェクトとそのすべてのサブクラスを挿入しようとしました。

この別の問題が発生した後、データベースへのキーの挿入に関する問題が発生しました。状況は次のとおりです。

どちらもコレクションである 2 層のサブクラスを持つオブジェクトがあります。

オブジェクトを親と呼びましょう。これには子のコレクションがあり、このコレクション内のすべてのエンティティには独自のエンティティのコレクションがあります。次のようにマッピングされます。

親のマッピング<set>

CollectionObject のマッピング

2 番目のコレクション内のオブジェクトのマッピング マッピングは、上記と同様です。想定されるシナリオは、親を保存すると、サブクラス/コレクションの保存がトリガーされるというものです。

たとえば、ID = 1 の親があり、親には 1 つのコレクションがあり、このコレクションには独自のコレクションが 1 つあります。

親を保存すると、親はデータベースから ID を取得します (ネイティブ SQL ID)。これで、最初のコレクションの ParentID プロパティに、Parent がデータベースから取得したばかりの ID が入力されます。また、コレクションのコレクションは、親が ID を取得したのと同じ方法で、子がデータベースから取得した ID で満たされた ChildID を取得する必要があります。

今起こっていることは(NHProfで作成されたSQLをチェックしました)すべてが独自のIDで挿入されますが、コレクションは親クラスのIDで満たされたキー列を取得しません。(代わりに、0 が挿入されるだけです)

要するに、私の質問は、マッピングに何を追加するのを忘れたのかということです。キー列は、私がすべきだと思うことをしませんか?

ここに何か追加するのを忘れた場合は、そう言ってください。喜んで追加情報を提供します。

アップデート

<many-to-one>問題は、子供にタグがないことに関係しているのではないかと思います。そこで、そのうちの 1 つを最初の子マッピングに追加しようとしました。私はこれを思いついた

ただし、このセットアップでは次のエラーが発生します。 Exception occurred getter of Parent.ParentID

InnerException あり {"Object does not match target type."}

悲しいことに、このエラーでは、続行する場所についてのアイデアが得られません。

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

iphone - 順序が重要な場合にコアデータに 1 対多の関係を格納するエレガントな方法を探している

私は自分の問題を解決する方法を考え出そうとしていますが、考えられる解決策はどれも面倒で、吐き気がします.

多くの Member オブジェクトを持つことができる Team オブジェクトで構成される 1 対多の関係があります。Xcode を使用してデータ モデルを構築したとき、メンバー オブジェクトを格納するための既定の NSSet が与えられました。メンバー。

NSSet の代わりに NSArray を使用し、Member オブジェクト間の空きスペースをマークするために使用できるダミーの Member オブジェクトをデータ ストアに作成することを考えましたが、その解決策は私にはハックが多すぎるように感じます。クエリからこのダミーメンバーを常に除外する必要があるためです。

NSDictionary は、Member オブジェクトの参照とその位置をオブジェクトとキーのペアとして格納できるため (順序と空席の両方を処理して) 完璧ですが、明らかに CoreData は NSDictionary をサポートしていません。

誰かが同様のニーズを持っていて、簡単な解決策を考案しましたか?

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

mysql - MySQLサーバーのフィールドaにテーブルをリンクする方法

私はxmlファイルからこのデータを持っています:

これにより、「words」という名前のテーブルが形成されます。このテーブルには、4つのフィールド(「id」、「word」、「meaning」、「translation」)があります。一方、「translation」フィールドにはES、PT、EN、JA、KOなどの複数の言語を含めることができます。そこでテーブルを作成します(「words.translation」、1つのフィールドは「id」、他のフィールドは「id」です)。 1つは、「ES」、「PT」などの言語IDです。

このnewbyの質問については申し訳ありませんが、この1対多の関係についていくつか知りたいと思います。

  1. MySQLでこの2つのテーブルを結合(またはリンク)する方法は?
  2. 「words」テーブルの「translation」フィールドにはどのような情報を保存する必要がありますか?
  3. すべての単語情報を取得するためのSQLクエリはどのように行われますか(JOIN構文が使用されていますか?)

お待ち頂きまして、ありがとうございます。

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

sql - 少なくとも1つの子がある場合にのみ親行を選択する方法は?

私は単純な一対多の関係を持っています。少なくとも 1 つの子がある場合にのみ、親から行を選択したいと思います。したがって、子がない場合、親行は結果セットに返されません。

例えば。

結果を次のようにしたい:

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

java - 休止状態の1:M関係、行の順序、定数値テーブル、および並行性

テーブルAとBは1:Mの関係を持つ必要があります

aとbはアプリケーションの実行時に追加されるため、Aが作成され、次に4つのBが作成されます。後で追加したのと同じ順序でそれらを抽出できるように、各Bインスタンスは順番に並べる必要があります。

アプリはTomcatで実行されるWebアプリになるため、10個のインスタンスが同時に動作する可能性があります。

だから私の質問は:

1)挿入順序を保持して、Aが参照するBインスタンスを永続化したのと同じ順序で抽出できるようにする方法。コレクションに追加して保存されるので、これは注意が必要です(私は正しいですか?)。それで、それはHibernateがそれをどのように保存するかに依存します、それがインスタンスを追加したものの順序を変更した場合はどうなりますか?関係を説明するときにSETではなくLISTのようなものを見たことがありますが、それが必要ですか?

2)BテーブルのSEX(M、F、U)のように、インスタンスを区別できるように3番目の列をBに追加する方法。特別なテーブルが必要ですか、それともHibernateで定数を記述する簡単な方法がありますか。おすすめは何ですか?

3)並行性について言えば、どのような方法を使用することをお勧めしますか?データベースに衝突があってはなりません。ご覧のとおり、行が挿入されていない(PKが追加されている)場合、遅延なく呼び出された場所で衝突が発生する可能性があります。

0 投票する
6 に答える
121400 参照

java - 双方向JPAOneToMany/ ManyToOneアソシエーションの「アソシエーションの逆側」とは何ですか?

@OneToManyJPAアノテーションリファレンスのサンプルセクション:

例1-59@OneToMany-ジェネリックスを使用した顧客クラス

例1-60@ManyToOne-ジェネリックスを使用したクラスの注文

Customer実体は協会の所有者であるように私には思えます。ただし、mappedBy同じドキュメントの属性の説明では、次のように記述されています。

関係が双方向の場合は、例1-60に示すように、関連付けの逆(非所有)側にあるmappedBy要素を、関係を所有するフィールドまたはプロパティの名前に設定します。

しかし、私が間違っていなければ、例のように、mappedBy実際には、非所有側ではなく、関連付けの所有側で指定されています。

だから私の質問は基本的に:

  1. 双方向(1対多/多対1)の関連付けでは、どのエンティティが所有者ですか?片側を所有者として指定するにはどうすればよいですか?多くの側を所有者として指定するにはどうすればよいですか?

  2. 「関連付けの逆側」とはどういう意味ですか?片側を逆としてどのように指定できますか?多辺を逆としてどのように指定できますか?

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

java - Hibernateで、コレクションに追加しながら、cascade="all"関係にある子のIDを取得します

「親」と「子」の2つのエンティティがあり、カスケード属性が「すべて」に設定された双方向の1対多の関係を介してリンクされています。以下のコードを使用してChildオブジェクトをParentchildrenコレクションに追加すると、トランザクションをコミットするまで、永続化された子のIDを取得できません。

ただし、session.save()メソッドを明示的に呼び出して子エンティティを永続化すると、トランザクションがコミットされていない場合でも、IDが作成され、すぐに設定されます。

session.save()メソッドを呼び出さずに子エンティティのIDをすぐに取得する方法はありますか?

ありがとう

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

nhibernate - サブクラスごとのテーブルを使用して 1 対多で Nhibernate する

N2CMS のデータベース構造をカスタマイズしていて、問題が発生しました。2 つのクラスを以下に示します。

nhibernate マッピングは次のとおりです。

次に、Customer のインスタンスを取得すると、customer.Licenses は常に空ですが、実際にはデータベースに顧客のライセンスがあります。nhibernate ログ ファイルを確認すると、SQL クエリが次のようになっていることがわかります。

nhibernate は、CustomerID が「n2item」テーブルにあると考えているようです。理由はわかりませんが、それを機能させるには、SQLは次のようにする必要があると思います。

私のマッピングの何が問題なのか、誰でも指摘できますか? また、ある顧客の正しいライセンスを取得するにはどうすればよいですか? 前もって感謝します。

0 投票する
9 に答える
78231 参照

java - @OneToManyと複合主キー?

私は(春に)注釈付きのHibernateを使用しており、順序付けられた多対1の関係を持つオブジェクトがあります。このオブジェクトは、複合主キーを持つ子オブジェクトであり、その1つのコンポーネントは外部キーに戻ります。親オブジェクトのID。

構造は次のようになります。

注釈のさまざまな組み合わせを試しましたが、どれも機能していないようです。これは私が思いついた最も近いものです:

私は長い実験の末にこれに到達しました。そこでは、他のほとんどの試みで、さまざまな理由で休止状態にさえロードできないエンティティが生成されました。

更新:コメントをありがとう。私はいくつかの進歩を遂げました。私はいくつかの調整を行いましたが、より近いと思います(上記のコードを更新しました)。ただし、現在、問題は挿入にあります。親オブジェクトは正常に保存されているように見えますが、子オブジェクトは保存されていません。私が判断できたのは、休止状態が子オブジェクトの(複合)主キーのparentId部分を埋めていないためです。 m一意ではないエラーが発生する:

自分のコードに属性namepos属性を入力していますが、親IDはまだ保存されていないため、もちろんわかりません。これを記入するように休止状態を説得する方法についてのアイデアはありますか?

ありがとう!