タグ付けされた質問 「one-to-many」

8
JPA @OneToManyアソシエーションを使用する場合の@JoinColumnとmappedByの違いは何ですか
違いは何ですか: @Entity public class Company { @OneToMany(cascade = CascadeType.ALL , fetch = FetchType.LAZY) @JoinColumn(name = "companyIdRef", referencedColumnName = "companyId") private List<Branch> branches; ... } そして @Entity public class Company { @OneToMany(cascade = CascadeType.ALL , fetch = FetchType.LAZY, mappedBy = "companyIdRef") private List<Branch> branches; ... }
516 java  hibernate  jpa  orm  one-to-many 

15
HibernateがMultipleBagFetchExceptionをスローします-複数のバッグを同時にフェッチできません
Hibernateは、SessionFactoryの作成中にこの例外をスローします。 org.hibernate.loader.MultipleBagFetchException:複数のバッグを同時にフェッチできない これは私のテストケースです: Parent.java @Entity public Parent { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id; @OneToMany(mappedBy="parent", fetch=FetchType.EAGER) // @IndexColumn(name="INDEX_COL") if I had this the problem solve but I retrieve more children than I have, one child is null. private List<Child> children; } Child.java @Entity public Child { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id; …
471 java  hibernate  jpa  one-to-many  bag 

6
@ManyToOne JPAアソシエーションのCascadeType.ALLの意味は何ですか
@ManyToOne関係の文脈でカスケードすることの意味を誤解したと思います。 ケース: public class User { @OneToMany(fetch = FetchType.EAGER) protected Set<Address> userAddresses; } public class Address { @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) protected User addressOwner; } の意味は何cascade = CascadeType.ALLですか?たとえば、データベースから特定のアドレスを削除した場合、追加した事実がデータにどのようにcascade = CascadeType.ALL影響しますか(Userたぶん)。

6
双方向のJPA OneToMany / ManyToOne関連付けにおける「関連付けの逆側」とは何ですか?
例セクションの@OneToManyJPA注釈参照。 例1-59 @OneToMany-ジェネリックスを持つCustomerクラス @Entity public class Customer implements Serializable { ... @OneToMany(cascade=ALL, mappedBy="customer") public Set<Order> getOrders() { return orders; } ... } 例1-60 @ManyToOne-ジェネリックスを持つ注文クラス @Entity public class Order implements Serializable { ... @ManyToOne @JoinColumn(name="CUST_ID", nullable=false) public Customer getCustomer() { return customer; } ... } Customerエンティティは協会の所有者であるように私には思えます。ただし、mappedBy同じドキュメントの属性の説明では、次のように書かれています。 関係が双方向の場合、例1-60に示すように、関連付けの逆(非所有)側のmappedBy要素を、関係を所有するフィールドまたはプロパティの名前に設定します。 しかし、私が間違っていなければ、例のように見えます、 mappedByます。実際には、非所有側ではなく、関連付けの所有側で指定されています。 だから私の質問は基本的に: 双方向(1対多/多対1)の関連付けでは、どのエンティティが所有者ですか?片側を所有者として指定するにはどうすればよいですか?多くの側を所有者として指定するにはどうすればよいですか? …

8
1対多、多対1、多対多の違いは?
わかりましたので、これはささいな質問かもしれませんが、違いを視覚化して理解し、それぞれをいつ使用するか理解できません。また、単方向マッピングや双方向マッピングなどの概念が1対多/多対多の関係にどのように影響するかについても、少し不明確です。私は現在Hibernateを使用しているので、ORM関連の説明があれば役に立ちます。 例として、次の設定があるとします。 public class Person{ private Long personId; private Set<Skill> skills; //Getters and setters } public class Skill{ private Long skillId; private String skillName; //Getters and setters } したがって、この場合、どのようなマッピングが必要になりますか?この特定の例に対する回答は間違いなく高く評価されていますが、1対多と多対多のどちらを使用するか、結合テーブルと結合列を使用する場合と単方向と双方向を使用する場合の概要についても教えてください。

2
JPA:同じエンティティタイプの1対多の関係を作成する方法
エンティティクラス「A」があります。クラスAには、同じタイプ「A」の子がある場合があります。また、「A」は、子の場合は親を保持する必要があります。 これは可能ですか?もしそうなら、どのようにエンティティクラスの関係をマッピングする必要がありますか?["A"にはid列があります。]

2
チャットモデルのルームエンティティ間の1対多の関係を定義する
Roomデータベースの使用を開始し、ルームエンティティを作成するためにいくつかのドキュメントを調べました。これらは私の関係です。チャットチャネルは多くの会話を持つことができます。したがって、これは1対多の関係になります。したがって、以下のようにエンティティを作成しました。 チャネルエンティティ @Entity(primaryKeys = ["channelId"]) @TypeConverters(TypeConverters::class) data class Channel( @field:SerializedName("channelId") val channelId: String, @field:SerializedName("channelName") val channelName: String, @field:SerializedName("createdBy") val creationTs: String, @field:SerializedName("creationTs") val createdBy: String, @field:SerializedName("members") val members: List<String>, @field:SerializedName("favMembers") val favMembers: List<String> ) { // Does not show up in the response but set in post processing. var isOneToOneChat: …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.