openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Hardy (JIRA)" <j...@apache.org>
Subject [jira] Created: (OPENJPA-914) incorrect exception thrown for unenhanced class when openjpa.RuntimeUnenhancedClasses=unsupported
Date Mon, 09 Feb 2009 15:09:00 GMT
incorrect exception thrown for unenhanced class when openjpa.RuntimeUnenhancedClasses=unsupported

--------------------------------------------------------------------------------------------------

                 Key: OPENJPA-914
                 URL: https://issues.apache.org/jira/browse/OPENJPA-914
             Project: OpenJPA
          Issue Type: Bug
    Affects Versions: 1.2.0
         Environment: linux, java 1.6.0_12
            Reporter: Adam Hardy
            Priority: Minor


I accidentally failed to enhance an entity class at build-time. Except that one, all others
were enhanced.

With openjpa.RuntimeUnenhancedClasses = unsupported I figured any problems with enhancement
would throw the following at initialization time: 

org.apache.openjpa.persistence.ArgumentException: This configuration disallows runtime optimization,
but the following listed types were not enhanced ....
        at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:102)
        at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:310)
        at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:228)
        at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:190)
        at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
        at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
        at org.permacode.atomic.AtomicConfigurationBean.getEntityManagerFactory(AtomicConfigurationBean.java:190)

However initialization succeeded and instead the following exception was thrown later:

 org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata.
 See nested exceptions for details.
        at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:563)
        at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:308)
        at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2426)
        at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2280)
        at org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1021)
        at org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:645)
        at org.permacode.patternrepo.jpa.JpaPortfolioDao.persist(JpaPortfolioDao.java:79)

I did a quick test and the main distinguishing feature of the classes that cause the wrong
error message to be thrown are child classes of a mapped superclass. Simple classes without
a superclass trigger the correct exception when not enhanced.


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


Mime
View raw message