benim dao sınıfları bir varlık yöneticisi enjekte bir sınıf üzerinde çalışıyorum ama varlık yöneticisi kapattığınızda ben Bu sınıfBir yakınsama() sonra varlık yöneticisi nasıl açılır; JAVA EE
public class EMinjector {
public static EntityManagerFactory eMF;
public static EntityManager eM;
static {
eMF = Persistence.createEntityManagerFactory("persistenceUnit");
eM = eMF.createEntityManager();
}
public static EntityManager getEM(){
if (eM.getTransaction().isActive()==false)
//here where I want to open eM
return eM;
}
public static void closeEM() {
eM.getTransaction().commit();
eM.close();
}
}
olduğunu
tekrar açamazsınız
eM.getTransaction() 'ı denedim begin();
Stacktraces
java.lang.IllegalStateException: EntityManager is closed
org.hibernate.jpa.internal.EntityManagerImpl.checkOpen(EntityManagerImpl.java:97)
org.hibernate.jpa.internal.EntityManagerImpl.checkOpen(EntityManagerImpl.java:88)
org.hibernate.jpa.internal.EntityManagerImpl.getSession(EntityManagerImpl.java:103)
org.hibernate.jpa.internal.TransactionImpl.getSession(TransactionImpl.java:35)
org.hibernate.jpa.internal.TransactionImpl.begin(TransactionImpl.java:45)
com.iticsys.GBO.dao.EMinjector.getEM(EMinjector.java:21)
// line 21 is where I pointed before
Kodunuz bir EntityManager'ın nasıl oluşturulacağını anlatır _eM = eMF.createEntityManager(); _ –
Bir işlem yapmak istediğimde her zaman bir varlık yöneticisi oluşturmak istemiyorum, bunun yerine yalnızca bir tane oluşturmak istiyorum Bir işlemden önce ve bundan sonra kapatın. –
bir EM oluşturuluyor EM EM A ise! –