Flush () yöntemi hakkında bilgi topluyordum, ancak onu ne zaman ve nasıl doğru şekilde kullanacağımı tam olarak bilmiyorum. Okuduğum kadarıyla, benim anladığım kadarıyla, kalıcılık bağlamının içeriğinin veri tabanı ile senkronize edileceği, yani bekleyen beyanlar yayınlayarak veya varlık verilerini tazeleyecek.
Şimdi iki varlıklı Ave B(bire bir ilişki içinde, ancak JPA tarafından zorlanmayan veya modellenen) aşağıdaki senaryoyu aldım . Amanuel olarak ayarlanan ve ayrıca otomatik oluşturulmuş bir KİMLİK alanına sahip bir bileşik PK'ye sahiptir recordId. Bu recordId, Byabancı anahtar olarak varlığa yazılmalıdır A. Tasarruf ediyorum Ave Btek bir işlemde. Sorun otomatik oluşturulan değer olduğunu A.recordIdben açık bir çağrı yapmak sürece, işlem içinde kullanılamaz em.flush()çağırdıktan sonra em.persist()üzerine A. (Otomatik oluşturulmuş bir IDENTITY PK'm varsa, değer doğrudan varlıkta güncellenir, ancak burada durum böyle değildir.)
Can em.flush()bir hareket içinde onu kullanırken herhangi bir zararı?