O JPA OneToMany persiste com CascadeType.ALL não persiste filho

Eu tenho a pergunta sobre o uso do JPA com o relacionamento OneToMany (bidirecional) junto com o CascadeType.ALL. Baseando-se no post vlad (https://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/), persistindo no relacionamento OneToMany usando CascadeType.ALL, também deve persistir

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);

Mas, no meu caso:

//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<>();

Só funciona quando vinculo os dois lados das entidades antes de persistir o proprietário do relacionamento:

sharedAdvertisementKey.setSharedAdvertisement(sharedAdvertisement);
sharedAdvertisement.addSharedAdvertisementKey(sharedAdvertisementKey);

Portanto, a principal questão é: devo cuidar sempre de ambos os lados, mesmo se houver um CascadeType.All no proprietário do lado do relacionamento?

questionAnswers(1)

yourAnswerToTheQuestion