openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Donald Woods (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-1804) NPE in MappingInfo.java line 1514
Date Wed, 22 Sep 2010 20:49:33 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913780#action_12913780
] 

Donald Woods commented on OPENJPA-1804:
---------------------------------------

Updated output using trunk and OPENJPA-1811 (dynamic enhancer working on Mac) -

drwoods:target/$ java -cp ./openjpa-all-2.1.0-SNAPSHOT.jar:./h2-1.2.143.jar:./openjpatest-trunk.jar
openjpatest.Main -Dopenjpa.Log=DefaultLevel=TRACE
4  db  TRACE  [main] openjpa.Runtime - Setting the following properties from "jar:file:/private/tmp/openjpatest/target/openjpatest-trunk.jar!/META-INF/persistence.xml"
into configuration: {openjpa.BrokerFactory=jdbc, openjpa.ConnectionDriverName=org.h2.Driver,
openjpa.RuntimeUnenhancedClasses=supported, javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl,
openjpa.MetaDataFactory=jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization),
openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionURL=jdbc:h2:mem:test,
openjpa.Id=db}
64  db  TRACE  [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.getInstrumentation()
_inst:null _dynamicallyInstall:true
66  db  TRACE  [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar()
-- couldn't find default /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar
66  db  TRACE  [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar()
-- found /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar
1  db  TRACE  [main] openjpa.Runtime - Setting the following properties from "jar:file:/private/tmp/openjpatest/target/openjpatest-trunk.jar!/META-INF/persistence.xml"
into configuration: {openjpa.ConnectionDriverName=org.h2.Driver, openjpa.RuntimeUnenhancedClasses=supported,
javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl, openjpa.MetaDataFactory=jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization),
openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionURL=jdbc:h2:mem:test,
openjpa.Id=db}
69  db  TRACE  [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
130  db  TRACE  [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
154  db  TRACE  [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent
types.
156  db  TRACE  [main] openjpa.MetaData - The persistent unit root url is "null"
156  db  TRACE  [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group,
openjpatest.Organization, openjpatest.AddressBook].
156  db  TRACE  [main] openjpa.MetaData - Found 3 classes with metadata in 25 milliseconds.
160  db  TRACE  [main] openjpa.MetaData - Clearing metadata repository "org.apache.openjpa.meta.MetaDataRepository@4e4ee70b".
716  db  INFO   [main] openjpa.Runtime - OpenJPA dynamically loaded the class enhancer. Any
classes that were not enhanced at build time will be enhanced when they are loaded by the
JVM.
718  db  TRACE  [main] openjpa.Runtime - Trying to load javax.validation APIs based on the
ValidationMode=AUTO
846  db  INFO   [main] openjpa.Runtime - OpenJPA dynamically loaded a validation provider.
874  db  TRACE  [main] openjpa.Runtime - org.apache.openjpa.persistence.PersistenceProviderImpl@7114460
creating org.apache.openjpa.persistence.EntityManagerFactoryImpl@7e9ffe3f for PU db.
877  db  INFO   [main] openjpa.Runtime - Starting OpenJPA 2.1.0-SNAPSHOT
879  db  TRACE  [main] openjpa.Runtime - Properties: javax.persistence.lock.timeout: 0
javax.persistence.query.timeout: 0
javax.persistence.sharedCache.mode: UNSPECIFIED
javax.persistence.validation.group.pre-persist: javax.validation.groups.Default
javax.persistence.validation.group.pre-update: javax.validation.groups.Default
openjpa.AutoClear: 0
openjpa.AutoDetach: [Ljava.lang.String;@30ff8c74
openjpa.BrokerFactory: jdbc
openjpa.BrokerImpl: default
openjpa.CacheDistributionPolicy: default
openjpa.Callbacks: default
openjpa.ClassResolver: default
openjpa.Compatibility: default
openjpa.ConnectionDriverName: org.h2.Driver
openjpa.ConnectionFactoryMode: false
openjpa.ConnectionRetainMode: 0
openjpa.ConnectionURL: jdbc:h2:mem:test
openjpa.DataCache: false
openjpa.DataCacheManager: default
openjpa.DataCacheTimeout: -1
openjpa.DetachState: loaded
openjpa.DynamicDataStructs: false
openjpa.DynamicEnhancementAgent: true
openjpa.EntityManagerFactory: default
openjpa.FetchBatchSize: -1
openjpa.FetchGroups: [Ljava.lang.String;@595e2ccd
openjpa.FlushBeforeQueries: 0
openjpa.Id: db
openjpa.IgnoreChanges: false
openjpa.InitializeEagerly: false
openjpa.InstrumentationManager: default
openjpa.InverseManager: false
openjpa.LifecycleEventManager: validating
openjpa.LockManager: mixed
openjpa.Log: true(DefaultLevel=TRACE)
openjpa.ManagedRuntime: auto
openjpa.MaxFetchDepth: -1
openjpa.MetaDataFactory: jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization)
openjpa.MetaDataRepository: default
openjpa.Multithreaded: false
openjpa.NontransactionalRead: true
openjpa.NontransactionalWrite: true
openjpa.Optimistic: true
openjpa.OrphanedKeyAction: log
openjpa.ProxyManager: default
openjpa.QueryCache: false
openjpa.QueryCompilationCache: true
openjpa.ReadLockLevel: 10
openjpa.RefreshFromDataCache: false
openjpa.RestoreState: 1
openjpa.RetainState: true
openjpa.RetryClassRegistration: false
openjpa.RuntimeUnenhancedClasses: 0
openjpa.SavepointManager: in-mem
openjpa.Sequence: table
openjpa.TransactionMode: false
openjpa.WriteLockLevel: 20
openjpa.jdbc.DriverDataSource: auto
openjpa.jdbc.EagerFetchMode: 2
openjpa.jdbc.FetchDirection: 1000
openjpa.jdbc.FinderCache: true
openjpa.jdbc.IdentifierUtil: default
openjpa.jdbc.LRSSize: 2
openjpa.jdbc.MappingDefaults: jpa
openjpa.jdbc.QuerySQLCache: true
openjpa.jdbc.ResultSetType: 1003
openjpa.jdbc.SQLFactory: default
openjpa.jdbc.SchemaFactory: dynamic
openjpa.jdbc.Schemas: [Ljava.lang.String;@30ff8c74
openjpa.jdbc.SubclassFetchMode: 1
openjpa.jdbc.SynchronizeMappings: null
openjpa.jdbc.TransactionIsolation: -1
openjpa.jdbc.UpdateManager: default
881  db  TRACE  [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
973  db  TRACE  [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@565bb966".
1024  db  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.H2Dictionary".
1170  db  TRACE  [main] openjpa.jdbc.JDBC - createConnectionFactory: DataSource=org.apache.openjpa.jdbc.schema.AutoDriverDataSource_@5c6ed322
1260  db  TRACE  [main] openjpa.jdbc.JDBC - DataSource connection setAutoCommit to "true"
CCCCC - using DBCPDriverDataSource
1817  db  TRACE  [main] openjpa.jdbc.JDBC - catalogSeparator: .
catalogTerm: catalog
databaseProductName: H2
databaseProductVersion: 1.2.143 (2010-09-18)
driverName: H2 JDBC Driver
driverVersion: 1.2.143 (2010-09-18)
extraNameCharacters: 
identifierQuoteString: "
numericFunctions: ABS,ACOS,ASIN,ATAN,COS,COT,SIN,TAN,ATAN2,BITAND,BITOR,BITXOR,MOD,CEILING,DEGREES,EXP,FLOOR,LOG,LOG10,RADIANS,SQRT,PI,POWER,RAND,RANDOM_UUID,ROUND,ROUNDMAGIC,SECURE_RAND,SIGN,ENCRYPT,DECRYPT,HASH,TRUNCATE,COMPRESS,EXPAND,ZERO
procedureTerm: procedure
schemaTerm: schema
searchStringEscape: \
sqlKeywords: LIMIT,MINUS,ROWNUM,SYSDATE,SYSTIME,SYSTIMESTAMP,TODAY
stringFunctions: ASCII,BIT_LENGTH,LENGTH,OCTET_LENGTH,CHAR,CONCAT,DIFFERENCE,HEXTORAW,RAWTOHEX,INSTR,INSERT,LOWER,UPPER,LEFT,RIGHT,LOCATE,POSITION,LPAD,RPAD,LTRIM,RTRIM,TRIM,REGEXP_REPLACE,REPEAT,REPLACE,SOUNDEX,SPACE,STRINGDECODE,STRINGENCODE,STRINGTOUTF8,SUBSTRING,UTF8TOSTRING,XMLATTR,XMLNODE,XMLCOMMENT,XMLCDATA,XMLSTARTDOC,XMLTEXT
systemFunctions: ARRAY_GET,ARRAY_LENGTH,AUTOCOMMIT,CANCEL_SESSION,CASEWHEN,CAST,COALESCE,CONVERT,CURRVAL,CSVREAD,CSVWRITE,DATABASE,DATABASE_PATH,FILE_READ,GREATEST,IDENTITY,IFNULL,LEAST,LOCK_MODE,LOCK_TIMEOUT,LINK_SCHEMA,MEMORY_FREE,MEMORY_USED,NEXTVAL,NULLIF,READONLY,ROWNUM,SCHEMA,SCOPE_IDENTITY,SESSION_ID,SET,TABLE,TRANSACTION_ID,USER
timeDateFunctions: CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,DATEADD,DATEDIFF,DAYNAME,DAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_YEAR,EXTRACT,FORMATDATETIME,HOUR,MINUTE,MONTH,MONTHNAME,PARSEDATETIME,QUARTER,SECOND,WEEK,YEAR
url: jdbc:h2:mem:test
userName: 
defaultTransactionIsolation: 2
driverMajorVersion: 1
driverMinorVersion: 2
maxBinaryLiteralLength: 0
maxCatalogNameLength: 0
maxCharLiteralLength: 0
maxColumnNameLength: 0
maxColumnsInGroupBy: 0
maxColumnsInIndex: 0
maxColumnsInOrderBy: 0
maxColumnsInSelect: 0
maxColumnsInTable: 0
maxConnections: 0
maxCursorNameLength: 0
maxIndexLength: 0
maxProcedureNameLength: 0
maxRowSize: 0
maxSchemaNameLength: 0
maxStatementLength: 0
maxStatements: 0
maxTableNameLength: 0
maxTablesInSelect: 0
maxUserNameLength: 0
isCatalogAtStart: true
isReadOnly: false
nullPlusNonNullIsNull: true
nullsAreSortedAtEnd: false
nullsAreSortedAtStart: false
nullsAreSortedHigh: false
nullsAreSortedLow: true
storesLowerCaseIdentifiers: false
storesLowerCaseQuotedIdentifiers: false
storesMixedCaseIdentifiers: false
storesMixedCaseQuotedIdentifiers: true
storesUpperCaseIdentifiers: true
storesUpperCaseQuotedIdentifiers: false
supportsAlterTableWithAddColumn: true
supportsAlterTableWithDropColumn: true
supportsANSI92EntryLevelSQL: true
supportsANSI92FullSQL: false
supportsANSI92IntermediateSQL: false
supportsCatalogsInDataManipulation: true
supportsCatalogsInIndexDefinitions: true
supportsCatalogsInPrivilegeDefinitions: true
supportsCatalogsInProcedureCalls: false
supportsCatalogsInTableDefinitions: true
supportsColumnAliasing: true
supportsConvert: true
supportsCoreSQLGrammar: true
supportsCorrelatedSubqueries: true
supportsDataDefinitionAndDataManipulationTransactions: false
supportsDataManipulationTransactionsOnly: true
supportsDifferentTableCorrelationNames: false
supportsExpressionsInOrderBy: true
supportsExtendedSQLGrammar: false
supportsFullOuterJoins: false
supportsGroupBy: true
supportsGroupByBeyondSelect: true
supportsGroupByUnrelated: true
supportsIntegrityEnhancementFacility: true
supportsLikeEscapeClause: true
supportsLimitedOuterJoins: true
supportsMinimumSQLGrammar: true
supportsMixedCaseIdentifiers: false
supportsMixedCaseQuotedIdentifiers: true
supportsMultipleResultSets: false
supportsMultipleTransactions: true
supportsNonNullableColumns: true
supportsOpenCursorsAcrossCommit: false
supportsOpenCursorsAcrossRollback: false
supportsOpenStatementsAcrossCommit: true
supportsOpenStatementsAcrossRollback: true
supportsOrderByUnrelated: true
supportsOuterJoins: true
supportsPositionedDelete: true
supportsPositionedUpdate: true
supportsSchemasInDataManipulation: true
supportsSchemasInIndexDefinitions: true
supportsSchemasInPrivilegeDefinitions: true
supportsSchemasInProcedureCalls: true
supportsSchemasInTableDefinitions: true
supportsSelectForUpdate: true
supportsStoredProcedures: false
supportsSubqueriesInComparisons: true
supportsSubqueriesInExists: true
supportsSubqueriesInIns: true
supportsSubqueriesInQuantifieds: true
supportsTableCorrelationNames: true
supportsTransactions: true
supportsUnion: true
supportsUnionAll: true
usesLocalFilePerTable: false
usesLocalFiles: true
allProceduresAreCallable: true
allTablesAreSelectable: true
dataDefinitionCausesTransactionCommit: true
dataDefinitionIgnoredInTransactions: false
doesMaxRowSizeIncludeBlobs: false
supportsBatchUpdates: true
1821  db  TRACE  [main] openjpa.jdbc.JDBC - Initial connection autoCommit: true, holdability:
1, TransactionIsolation: 2
1833  db  TRACE  [main] openjpa.jdbc.JDBC - <t 1205573714, conn 569201753> [3 ms] close
1928  db  TRACE  [main] openjpa.Runtime - Found datasource1: datasource 1550766882 from configuration.
StoreContext: org.apache.openjpa.kernel.FinalizingBrokerImpl@345c98f3
1937  db  TRACE  [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent
types.
1937  db  TRACE  [main] openjpa.MetaData - The persistent unit root url is "null"
1938  db  TRACE  [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group,
openjpatest.Organization, openjpatest.AddressBook].
1938  db  TRACE  [main] openjpa.MetaData - Found 3 classes with metadata in 1 milliseconds.
1385  db  TRACE  [main] openjpa.Enhance - "openjpatest/Group" requires runtime enhancement:
true
1416  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.Group"
under mode "[META][QUERY]".
1433  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.Group".
1433  db  TRACE  [main] openjpa.MetaData - Parsing package "openjpatest.Group".
1469  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Group".
1469  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1504  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Group"
to "null".
1504  db  TRACE  [main] openjpa.MetaData - Resolving metadata for "openjpatest.Group@1606871064".
1504  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@1606871064.id".
1511  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@1606871064.name".
1511  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@1606871064.organization".
1511  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization"
under mode "[META][QUERY]".
1511  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.Organization".
1513  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization".
1513  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1521  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization"
to "null".
1521  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@1606871064.version".
1522  db  TRACE  [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@570110481".
1522  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Organization@570110481.addressBook".
1522  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook"
under mode "[META][QUERY]".
1522  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
1523  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
1523  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1527  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
1527  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1527  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook"
to "null".
1527  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Organization@570110481.hostNames".
1527  db  TRACE  [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1671818348".
1528  db  TRACE  [main] openjpa.MetaData - Preparing mapping for "openjpatest.Group".
1528  db  TRACE  [main] openjpa.MetaData - Resolving mapping for "openjpatest.Group@1606871064".
1528  db  WARN   [main] openjpa.Enhance - An exception was thrown while attempting to perform
class file transformation on "openjpatest/Group":
<openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException:
Errors encountered while resolving metadata.  See nested exceptions for details.
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
	at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143)
	at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538)
	at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514)
	at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
	at openjpatest.Main.main(Main.java:17)
Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.util.MetaDataException:
No metadata was found for type "class java.lang.Object". The class is not enhanced.
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822)
	at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
	at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435)
	at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732)
	at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853)
	at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
	at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809)
	at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
	... 33 more
NestedThrowables:
<openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException:
Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related
type "openjpatest.Organization".
	at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822)
	at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
	at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143)
	at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538)
	at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514)
	at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
	at openjpatest.Main.main(Main.java:17)
1535  db  TRACE  [main] openjpa.Enhance - "openjpatest/Organization" requires runtime enhancement:
true
1537  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization"
under mode "[META][QUERY]".
1537  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.Organization".
1538  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization".
1538  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1540  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization"
to "null".
1540  db  TRACE  [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@1056794277".
1540  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Organization@1056794277.addressBook".
1541  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook"
under mode "[META][QUERY]".
1541  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
1541  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
1541  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1542  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
1542  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1542  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook"
to "null".
1543  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Organization@1056794277.hostNames".
1543  db  TRACE  [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1851652849".
1543  db  WARN   [main] openjpa.Enhance - An exception was thrown while attempting to perform
class file transformation on "openjpatest/Organization":
<openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException:
Errors encountered while resolving metadata.  See nested exceptions for details.
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
	at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143)
	at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538)
	at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514)
	at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
	at openjpatest.Main.main(Main.java:17)
Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.util.MetaDataException:
No metadata was found for type "class java.lang.Object". The class is not enhanced.
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822)
	at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
	at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435)
	at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732)
	at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853)
	at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
	at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809)
	at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
	... 33 more
NestedThrowables:
<openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException:
Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related
type "openjpatest.Organization".
	at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822)
	at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
	at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143)
	at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538)
	at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514)
	at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
	at openjpatest.Main.main(Main.java:17)
1547  db  TRACE  [main] openjpa.Enhance - "openjpatest/AddressBook" requires runtime enhancement:
true
1549  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook"
under mode "[META][QUERY]".
1549  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
1549  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
1550  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1551  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
1551  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1551  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook"
to "null".
1551  db  TRACE  [main] openjpa.MetaData - Resolving metadata for "openjpatest.AddressBook@1543904466".
1551  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.AddressBook@1543904466.id".
1551  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.AddressBook@1543904466.primaryEmailAddress".
1551  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.EmailAddress"
under mode "[META][QUERY]".
1551  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.EmailAddress".
1551  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
1551  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
1552  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.EmailAddress"
to "null".
1552  db  TRACE  [main] openjpa.MetaData - Resolving embedded metadata for "openjpatest.EmailAddress@357453361".
1552  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.EmailAddress"
to "null".
1552  db  TRACE  [main] openjpa.MetaData - Resolving metadata for "openjpatest.EmailAddress@1206877668".
1552  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.EmailAddress@1206877668.email".
1552  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.EmailAddress@357453361.email".
1552  db  TRACE  [main] openjpa.MetaData - Preparing mapping for "openjpatest.AddressBook".
1552  db  TRACE  [main] openjpa.MetaData - Preparing mapping for "openjpatest.EmailAddress".
1553  db  TRACE  [main] openjpa.MetaData - Resolving mapping for "openjpatest.AddressBook@1543904466".
1553  db  TRACE  [main] openjpa.MetaData - Resolving mapping for "openjpatest.EmailAddress@1206877668".
1553  db  TRACE  [main] openjpa.Enhance - Enhancing type "class openjpatest.AddressBook" loaded
by org.apache.openjpa.lib.util.TemporaryClassLoader@38ffd135.
2358  db  TRACE  [main] openjpa.Enhance - org.apache.openjpa.enhance.InstrumentationFactory.getInstrumentation()
_inst:sun.instrument.InstrumentationImpl@31d8d237 _dynamicallyInstall:true
2359  db  INFO   [main] openjpa.Enhance - Creating subclass and redefining methods for "[class
openjpatest.Group, class openjpatest.Organization]". This means that your application will
be less efficient than it would if you ran the OpenJPA enhancer.
2364  db  TRACE  [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
2364  db  TRACE  [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@109b2a51".
2364  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.Group"
under mode "[META]".
2364  db  TRACE  [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent
types.
2364  db  TRACE  [main] openjpa.MetaData - The persistent unit root url is "null"
2364  db  TRACE  [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group,
openjpatest.Organization, openjpatest.AddressBook].
2365  db  TRACE  [main] openjpa.MetaData - Found 3 classes with metadata in 0 milliseconds.
2394  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.Group".
2394  db  TRACE  [main] openjpa.MetaData - Parsing package "openjpatest.Group".
2405  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Group".
2405  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
2418  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Group"
to "null".
2419  db  TRACE  [main] openjpa.MetaData - Resolving metadata for "openjpatest.Group@778653458".
2419  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@778653458.id".
2419  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@778653458.name".
2419  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@778653458.organization".
2419  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization"
under mode "[META]".
2419  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.Organization".
2420  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization".
2420  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
2424  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization"
to "null".
2424  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@778653458.version".
2424  db  TRACE  [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@1546386943".
2424  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Organization@1546386943.addressBook".
2424  db  TRACE  [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook"
under mode "[META]".
2424  db  TRACE  [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
2425  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
2427  db  TRACE  [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
2427  db  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
2427  db  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook"
to "null".
2427  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Organization@1546386943.hostNames".
2427  db  TRACE  [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1691493474".
2428  db  TRACE  [main] openjpa.MetaData - Preparing mapping for "openjpatest.Group".
2432  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@778653458.id".
2437  db  TRACE  [main] openjpa.MetaData - 	"id" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
2439  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@778653458.name".
2439  db  TRACE  [main] openjpa.MetaData - 	"name" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
2440  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@778653458.version".
2440  db  TRACE  [main] openjpa.MetaData - 	"version" has mapping strategy "none".
2444  db  TRACE  [main] openjpa.MetaData - "openjpatest.Group<discriminator>" has mapping
strategy "value-map".
2446  db  TRACE  [main] openjpa.MetaData - "openjpatest.Group<version>" has mapping
strategy "version-number".
2446  db  TRACE  [main] openjpa.MetaData - Resolving mapping for "openjpatest.Group@778653458".
2447  db  TRACE  [main] openjpa.MetaData - "openjpatest.Group" has mapping strategy "full".
2447  db  TRACE  [main] openjpa.MetaData - 	Resolving field "openjpatest.Group@778653458.organization".
Exception in thread "main" <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error>
org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata.
 See nested exceptions for details.
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222)
	at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
	at openjpatest.Main.main(Main.java:17)
Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.persistence.ArgumentException:
No metadata was found for type "class java.lang.Object". The class is not enhanced.
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822)
	at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
	at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435)
	at org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImpl.java:494)
	at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732)
	at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:458)
	at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853)
	at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
	at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809)
	at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
	... 14 more
NestedThrowables:
<openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.persistence.ArgumentException:
Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related
type "openjpatest.Organization".
	at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822)
	at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222)
	at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
	at openjpatest.Main.main(Main.java:17)
java.lang.NullPointerException
	at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1513)
	at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1322)
	at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:1084)
	at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:115)
	at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:92)
	at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.map(RelationFieldStrategy.java:167)
	at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146)
	at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:82)
	at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:496)
	at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:461)
	at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:854)
	at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1792)
	at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809)
	at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:764)
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:644)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
	at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222)
	at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
	at openjpatest.Main.main(Main.java:17)


> NPE in MappingInfo.java line 1514
> ---------------------------------
>
>                 Key: OPENJPA-1804
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1804
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: Enhance, UnenhancedClasses, usability
>    Affects Versions: 2.0.1
>            Reporter: Willis Blackburn
>            Assignee: Donald Woods
>             Fix For: 2.1.0
>
>         Attachments: openjpatest.tar.gz
>
>
> I am encountering a NPE at MappingInfo.java line 1514.  I'm sorry I don't have time to
prepare a test case right now.  I'm not even 100% sure what is causing the problem, but it
seems to be something like this:
> I have classes Organization, Group, User, and AddressBook.
> Group has a reference (many-to-one) to Organization.
> I'm using field-level access and the Java 6 runtime enhancer.  (NOT the build-time enhancer
or the agent.)
> In ManagedClassSubclasser.prepareUnenhancedClasses, the code receives a list of Class
objects--the ones in persistence.xml.  They are not in the same order as they are in persistence.xml,
but I don't know if that's important.  The first one is Group.  During the processing of Group,
the code invokes ClassMapping.setTable to set the table name, which is "group_table."  This
comes from the @Table annotation of Group.  So far, so good.  Then the code does some additional
processing on the relationship mappings of Group, which include the reference to Organization.
 During the processing of that relationship, the code calls MappingInfo.mergeJoinColumn. 
On line 1367, the method calls rel.getTable.  The "rel" variable points to the ClassMapping
for Organization.  Remember that prepareUnenhancedClasses hasn't gotten to Organization yet--it's
still working on Group--and so I assume that this Organization mapping was created on-demand.
 However, rel.getTable returns null.  The Organization class has a @Table attribute, and I
can see that the table name has been loaded in the ClassMappingInfo instance attached to the
ClassMapping for Organization, however the table name has not yet been copied from ClassMappingInfo
to ClassMapping.  Later, the mergeJoinColumn method attempts to dereference the null table
name and generates the NPE.
> Bottom line:  When using the Java 6, runtime enhancer, if class A has a reference to
class B, and both classes have @Table annotations (at least), and class A is processed first,
then it produces a NPE.

-- 
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