You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Andreas Ernst <ae...@ae-online.de> on 2015/03/17 11:16:07 UTC

Unable to locate a single EntityManager. You must provide the persistence unit name as defined in the persistence.xml using the @PersistenceContext annotation.

Hi,

i got a ejb with two entities.

All is working fine, but if i persist the entity, it got this error:

Unable to locate a single EntityManager. You must provide the 
persistence unit name as defined in the persistence.xml using the 
@PersistenceContext annotation.


   @Inject
   @PersistenceContext(unitName = "de.aeits_ERDA-CCIS-EJB_ejb_1.01PU")
   private EntityManager entityManager;

   @Log
   @CommitAfter
   Object onSuccess() {
     logger.log(Level.INFO, "erfolgreicher Login von {0}", user);
     try {
       Users users = entityManager.find(Users.class, user);
       logger.log(Level.INFO, "User {0}", user);
       users.setIp(requestGlobal.getHTTPServletRequest().getRemoteAddr());
//      entityManager.getTransaction().begin();
       entityManager.merge(users);
//      entityManager.getTransaction().commit();
     } catch (Exception e) {
       logger.log(Level.INFO, "Es ist ein Fehler aufgetreten: {0}", e);
     }
     return Index.class;
   }


If i remove the annotation @CommitAfter and do it with 
entityManager.getTransaction().begin() and 
entityManager.getTransaction().commit(), it works.

Any hints?

TIA
Andreas
-- 
ae | Andreas Ernst | IT Spektrum
Postfach 5, 65612 Beselich
Schupbacher Str. 32, 65614 Beselich, Germany
Tel: +49-6484-91002 Fax: +49-6484-91003
ae@ae-online.de | www.ae-online.de
www.tachyon-online.de

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org