私はこの JPAServiceImpl メソッドを持っています:
@Override
@Transactional
public void createPageContent(SellerContent content, long userId) {
Seller s = em.find(Seller.class,userId);
content.setSeller(s);
content.setSeller(s);
s.addContent(content);
}
それは機能しますが、またはがないので、どのように機能するのだろう
em.merge(seller)
かem.persist(content)
。
売り手は、SellerContent 関係で CascadeType.ALL を取得しています。
これが正常な動作であるかどうか、説明していただけますか? em.merge(seller)
と の両方を書いたでしょうem.persist(content)
。違いますか?
たとえば、次のメソッドを書きました。
@Override
@Transactional
public void createFeedback(CartLine cartLine, String feedbackString) {
Product product = cartLine.getProduct();
Feedback feedback = new Feedback();
feedback.setFeedbackContent(feedbackString);
feedback.setCartLine(cartLine);
cartLine.setFeedback(feedback);
product.getFeedbacks().add(feedback);
feedback.setProduct(product);
em.persist(feedback);
em.merge(cartLine);
em.merge(product);
}
このメソッドでは、マージと永続化の手順を記述しました。違いますか?