CascadeType.ALLと一緒にOneToMany関係(双方向)でJPAを使用することに関する質問があります。ヴラドのポスト(https://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/)に基づか、CascadeType.ALLを使用してOneToManyの関係に固執、またJPA OneToManyはCascadeType.ALLで永続化しません。子は永続しません。
Post post = new Post();
post.setName("Hibernate Master Class");
Comment comment1 = new Comment();
comment1.setReview("Good post!");
Comment comment2 = new Comment();
comment2.setReview("Nice post!");
post.addComment(comment1);
post.addComment(comment2);
session.persist(post);
を持続しなければならない。しかし、私の場合:私は、エンティティの両側をリンクする際
//Entity SharedAdvertisementKey
@ManyToOne
@JoinColumn(name="SHARED_AD_ID", nullable=false)
private SharedAdvertisement sharedAdvertisement;
//Entity SharedAdvertisements
@OneToMany(mappedBy="sharedAdvertisement", cascade=CascadeType.ALL)
private List<SharedAdvertisementKey> sharedAdvertisementKey = new ArrayList<>();
それだけで働いています関係の所有者を永続化する前に:
はsharedAdvertisementKey.setSharedAdvertisement(sharedAdvertisement);
sharedAdvertisement.addSharedAdvertisementKey(sharedAdvertisementKey);
だから、主な質問は:私はトンのCascadeType.Allがある場合でも、必ず両側の世話をする必要があります彼は関係側の所有者ですか?
ありがとうございます。私はそれに気付かなかった。あなたの答えは、私の質問に関して疑問を取り除くのを助けました。 – allowMeWeb