2010-06-03 4 views
8
für Spring Batch Anwendung geworfen

Die folgende Ausnahme machen:"Ausführen eines update/delete query" Ausnahme für @NamedQuery ENTFERNT

19:12:40,083 ERROR main AbstractStep:213 - Encountered an error executing the step 
javax.persistence.TransactionRequiredException: Executing an update/delete query 

-Code, wo benannte Abfrage verwendet:

entityManagerFactory.createEntityManager() 
        .createNamedQuery("removeQuery").executeUpdate(); 

auch versucht, wickeln Sie diesen Code in beginnen und commit Methoden von EntityTransaction Objekt und, hat nicht geholfen:

EntityManager em = entityManagerFactory.createEntityManager(); 
EntityTransaction transaction = em.getTransaction(); 
transaction.begin(); 
entityManagerFactory.createEntityManager() 
        .createNamedQuery("removeQuery").executeUpdate(); 
transaction.commit(); 
em.close(); 
entityManagerFactory.close(); 

danken Ihnen im Voraus

+0

Und was wie macht 'removeQuery' aussieht? –

Antwort

2

Sie haben nicht gleiche Entität Manager verwenden, um Ihre Transaktion zu erstellen und Ihre Abfrage zu erstellen.

ersetzen

entityManagerFactory.createEntityManager() 
        .createNamedQuery("removeQuery").executeUpdate(); 

von

em.createNamedQuery("removeQuery").executeUpdate(); 
Verwandte Themen