Temel bir test verileri kullanıyorum ve EntityManager'ın kullandığı tüm verileri takip etmek istiyorum. Her varlık için yalnızca bir grup listelere sahip olmak yerine EntityManager tarafından yönetilen her şeyi bir düştü? Bunun yerine buBir EntityManager'dan tüm yönetilen varlıkları elde etmenin bir yolu var
:
EntityManager em;
List<Entity1> a;
List<Entity2> b;
...
List<Entityn> n;
cleanup() {
for(Entity1 e : a) em.remove(e);
for(Entity2 f : b) em.remove(f);
...
for(Entityn z : n) em.remove(z);
}
Böyle bir şey istiyorum;
EntityManager em;
cleanup() {
List<Object> allEntities = em.getAllManagedEntities(); //<-this doesnt exist
for(Object o : allEntities) em.remove(o);
}
bu mümkündür, ancak emin değil ben sadece olurdu görüntü yöneticisi o yönetme olduğunu bilir? Ya da, bir grup varlıkları kolayca yönetme fikriniz varsa.
başka biri tarafından geçiriliyor: "className" değişken adı, jpaEntityName olduğu için beni biraz yanlış yönlendiriyor. Gerçek sınıfı almak için getBindableJavaType kullanmalısınız. @Faisal, bana doğru yönde işaret ettiğin için teşekkürler – Ittai
Bunun için OP'nin istediğinden emin değilim. Veritabanından alınabilecek tüm varlıkları yazdırıyor gibi görünüyor, ancak * şu anda EntityManager tarafından yönetilen tüm varlıklar değil. –
Bu sadece yanlış yanlış! @MarcusJuniusBrutus zaten işaret ediyor gibi, bu DB bilinen tüm varlıkların tüm satırlarını yükler. Kod bittiğinde, tüm yüklü öğeler üzerinde bir el alabilirsiniz. Ancak bu, kodu çalıştırmadan önce yönetilen varlıklar değildir. – BetaRide