Eğer JPA implemente ediyorsanız performans problemiyle karşılaşabileeceğiniz bir konu “EntityManagerFactory” nesnesini kullanma şekliniz olacak . Bu nesneyi oluşturmak maliyetli olduğu için tekrar tekrar oluşturmak yerine proje ayağa kalkarken üretip sonrasın da varolanı kullanmak en doğru yöntem bunu yaparken de “singleton” pattern tercihiniz olmalı .
Örnek kodlarla ifade edersek :
1) Performans için PersistenceAppListener uygulamanın ayağa kalkmasını dinleyip kalkarken instantiate , uygulama kapanırken de close işlemlerini gerçekleştirmeli .
ServletContextListener
tmpl.web.PersistenceAppListener
startup da –> this.emf = Persistence.createEntityManagerFactory(“OrderPU”);
shutdown da –> PersistenceManager.getInstance().closeEntityManagerFactory();
2) İşlemleri gerçekleştirirken de transaction bitimlerinde hata kontrolunu ( eğer hata varsa “rollback” yapmayı ) unutmamaya dikkat etmeliyiz .
Referans : jpa-entitymanagerfactory
Filed under: Uncategorized | Leave a Comment »