0 iyi cevapla birkaç benzer soru gördüm.JPA hevesli yükleme FetchType.LAZY çocuk koleksiyonları
Bu çok basit olmalıdır. Java JPA kullanıyorum ve bazen değil ama her zaman bir çocuk varlıkları listesi yüklemek istiyorum. Ne yazık ki, ben tembelce almak için söylediğimde JPA beni dinlemiyor. ChildEntities özniteliğine hiçbir şekilde erişilemeyen kodumun hiçbir yerinde bulunmadığından% 100 emin oldum. Ancak, tüm çocuk varlıkları hala JPA.em(). (..) çağrısı üzerine hemen yüklenmeye devam ediyor. Bu, ek açıklamalarla ilişkiyi nasıl beyan ederim.
ParentEntity parentEntity = JPA.em().find(ParentEntity.class, id);
Ayrıca, bazen hevesli Bu koleksiyonu alıp dinamik zaman bunu yapmaya JPA söylemek mümkün umuyordum:
@Entity
@Table(name = "parentEntities")
public class ParentEntity implements Serializable {
....
@OneToMany(mappedBy = "entityPropertyName", fetch = FetchType.LAZY)
public List<ChildEntity> childEntities;
...
}
Ve bu ana varlık yüklemek nasıl. Yine de adım 2. Adım 1 sadece bu çalışma hakkını elde etmek içindir.
nasıl getirilirken doğruluyoruz? Bir orm.xml veya başka bir yer eşleştirmesi var mı yoksa varlık ayarını geçersiz kılan ya da koleksiyonu tetikleyen varlık dinleyicileri ayarlanmış mı? Hangi sağlayıcıyı kullanıyorsunuz? – Chris
Hata ayıklayıcısında, bulduktan sonra listenin doldurulduğunu görebiliyorum. Yapılandırma için herhangi bir XML kullanmıyorum, sadece ek açıklamalar. –
Şimdilik son derece şişkin ve hacky bir çözüm yarattım. Bir çocuk listesi koleksiyonuna sahip ve diğeri olmayan iki ana varlık oluşturdum. Ne yazık ki, bu hack (birçok hack yapmak gibi) kodlarımın geri kalanına sıçradı. –