Cayenne agent misses JPA entity classes that were loaded before their 
PersistenceUnits
--------------------------------------------------------------------------------------

                 Key: CAY-859
                 URL: https://issues.apache.org/cayenne/browse/CAY-859
             Project: Cayenne
          Issue Type: Improvement
          Components: Cayenne JPA
    Affects Versions: 3.0
            Reporter: Andrus Adamchik
            Assignee: Andrus Adamchik
             Fix For: 3.0


In a command line application running with Cayenne agent , the following code 
would result in exceptions about Artist not being persistent:

Class.forName("test.Artist");

EntityManagerFactory emf = Persistence
                                .createEntityManagerFactory("cayenne-tutorial");
EntityManager em = emf.createEntityManager();
tx = em.getTransaction();
tx.begin();
em.createQuery("delete from Artist").executeUpdate();

Since redefining already loaded classes is not possible (instrumentation spec 
prohibits adding fields to such classes for instance), the only solution I see 
is to trigger PersistentUnit loading from within the agent. I am going to make 
it optional as it slows down app startup. This will be an agent parameter 
"jpa-eager-load"

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to