Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 8781 invoked from network); 22 Sep 2010 11:14:18 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 22 Sep 2010 11:14:18 -0000 Received: (qmail 54546 invoked by uid 500); 22 Sep 2010 11:14:18 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 54387 invoked by uid 500); 22 Sep 2010 11:14:16 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 54379 invoked by uid 99); 22 Sep 2010 11:14:15 -0000 Received: from Unknown (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Sep 2010 11:14:15 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Sep 2010 11:13:55 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o8MBDWwq006914 for ; Wed, 22 Sep 2010 11:13:33 GMT Message-ID: <4627731.339721285154012700.JavaMail.jira@thor> Date: Wed, 22 Sep 2010 07:13:32 -0400 (EDT) From: "Willis Blackburn (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Commented: (OPENJPA-1804) NPE in MappingInfo.java line 1514 In-Reply-To: <7307874.276561284839673337.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/OPENJPA-1804?page=3Dcom.atlassi= an.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D12= 913500#action_12913500 ]=20 Willis Blackburn commented on OPENJPA-1804: ------------------------------------------- Test case run: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -D= file.encoding=3DMacRoman -classpath /System/Library/Frameworks/JavaVM.frame= work/Versions/A/Resources/Deploy.bundle/Contents/Resources/Java/deploy.jar:= /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/dt.jar:= /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/javaws.= jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/jce= .jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ma= nagement-agent.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6= .0/Home/lib/plugin.jar:/System/Library/Frameworks/JavaVM.framework/Versions= /1.6.0/Home/lib/sa-jdi.jar:/System/Library/Frameworks/JavaVM.framework/Vers= ions/1.6.0/Classes/alt-rt.jar:/System/Library/Frameworks/JavaVM.framework/V= ersions/1.6.0/Classes/charsets.jar:/System/Library/Frameworks/JavaVM.framew= ork/Versions/1.6.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.fr= amework/Versions/1.6.0/Classes/jconsole.jar:/System/Library/Frameworks/Java= VM.framework/Versions/1.6.0/Classes/jsse.jar:/System/Library/Frameworks/Jav= aVM.framework/Versions/1.6.0/Classes/ui.jar:/System/Library/Frameworks/Java= VM.framework/Versions/1.6.0/Home/lib/ext/apple_provider.jar:/System/Library= /Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/dnsns.jar:/System/= Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/localedata.= jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext= /sunjce_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1= .6.0/Home/lib/ext/sunpkcs11.jar:/Users/wboyce/git/openjpatest/target/classe= s:/Users/wboyce/.m2/repository/org/apache/openjpa/openjpa/2.0.1/openjpa-2.0= .1.jar:/Users/wboyce/.m2/repository/commons-lang/commons-lang/2.1/commons-l= ang-2.1.jar:/Users/wboyce/.m2/repository/commons-collections/commons-collec= tions/3.2.1/commons-collections-3.2.1.jar:/Users/wboyce/.m2/repository/net/= sourceforge/serp/serp/1.13.1/serp-1.13.1.jar:/Users/wboyce/.m2/repository/j= unit/junit/3.8.1/junit-3.8.1.jar:/Users/wboyce/.m2/repository/org/apache/ge= ronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar:/U= sers/wboyce/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/= 1.1.1/geronimo-jta_1.1_spec-1.1.1.jar:/Users/wboyce/.m2/repository/commons-= pool/commons-pool/1.5.3/commons-pool-1.5.3.jar:/Users/wboyce/.m2/repository= /org/apache/geronimo/specs/geronimo-jpa_2.0_spec/1.1/geronimo-jpa_2.0_spec-= 1.1.jar:/Users/wboyce/.m2/repository/com/h2database/h2/1.2.143/h2-1.2.143.j= ar openjpatest.Main 6 db TRACE [main] openjpa.Runtime - Setting the following properties fro= m "file:/Users/wboyce/git/openjpatest/target/classes/META-INF/persistence.x= ml" into configuration: {openjpa.BrokerFactory=3Djdbc, openjpa.ConnectionDr= iverName=3Dorg.h2.Driver, openjpa.RuntimeUnenhancedClasses=3Dsupported, jav= ax.persistence.provider=3Dorg.apache.openjpa.persistence.PersistenceProvide= rImpl, openjpa.MetaDataFactory=3Djpa(Types=3Dopenjpatest.AddressBook;openjp= atest.Group;openjpatest.Organization), openjpa.Log=3DDefaultLevel=3DTRACE, = PersistenceVersion=3D2.0, openjpa.ConnectionURL=3Djdbc:h2:mem:test, openjpa= .Id=3Ddb} 44 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.Instrume= ntationFactory.findToolsJar() -- couldn't find /System/Library/Frameworks/J= avaVM.framework/Versions/1.6.0/Home/lib/tools.jar 46 db TRACE [main] openjpa.Runtime - Trying to load javax.validation API= s based on the ValidationMode=3DAUTO 48 db TRACE [main] openjpa.Runtime - Could not create the optional valid= ation provider. Reason returned: "No available javax.validation APIs" 77 db INFO [main] openjpa.Runtime - Starting OpenJPA 2.0.1 78 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.Def= ault javax.persistence.validation.group.pre-update: javax.validation.groups.Defa= ult openjpa.AutoClear: 0 openjpa.AutoDetach: [Ljava.lang.String;@2af081 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;@313a53d openjpa.FlushBeforeQueries: 0 openjpa.Id: db openjpa.IgnoreChanges: false openjpa.InitializeEagerly: false openjpa.InverseManager: false openjpa.LifecycleEventManager: default openjpa.LockManager: mixed openjpa.Log: true(DefaultLevel=3DTRACE) openjpa.ManagedRuntime: auto openjpa.MaxFetchDepth: -1 openjpa.MetaDataFactory: jpa(Types=3Dopenjpatest.AddressBook;openjpatest.Gr= oup;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: simple 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;@2af081 openjpa.jdbc.SubclassFetchMode: 1 openjpa.jdbc.SynchronizeMappings: null openjpa.jdbc.TransactionIsolation: -1 openjpa.jdbc.UpdateManager: default 89 db TRACE [main] openjpa.Runtime - No cache marshaller found for id or= g.apache.openjpa.conf.MetaDataCacheMaintenance. 140 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apach= e.openjpa.persistence.jdbc.PersistenceMappingFactory@4d3c7378". 171 db INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apac= he.openjpa.jdbc.sql.H2Dictionary". 271 db TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory: DataSou= rce=3Dorg.apache.openjpa.jdbc.schema.SimpleDriverDataSource_@50269997 310 db TRACE [main] openjpa.jdbc.JDBC - DataSource connection setAutoCom= mit to "true" 524 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:=20 identifierQuoteString: " numericFunctions: ABS,ACOS,ASIN,ATAN,COS,COT,SIN,TAN,ATAN2,BITAND,BITOR,BIT= XOR,MOD,CEILING,DEGREES,EXP,FLOOR,LOG,LOG10,RADIANS,SQRT,PI,POWER,RAND,RAND= OM_UUID,ROUND,ROUNDMAGIC,SECURE_RAND,SIGN,ENCRYPT,DECRYPT,HASH,TRUNCATE,COM= PRESS,EXPAND,ZERO procedureTerm: procedure schemaTerm: schema searchStringEscape: \ sqlKeywords: LIMIT,MINUS,ROWNUM,SYSDATE,SYSTIME,SYSTIMESTAMP,TODAY stringFunctions: ASCII,BIT_LENGTH,LENGTH,OCTET_LENGTH,CHAR,CONCAT,DIFFERENC= E,HEXTORAW,RAWTOHEX,INSTR,INSERT,LOWER,UPPER,LEFT,RIGHT,LOCATE,POSITION,LPA= D,RPAD,LTRIM,RTRIM,TRIM,REGEXP_REPLACE,REPEAT,REPLACE,SOUNDEX,SPACE,STRINGD= ECODE,STRINGENCODE,STRINGTOUTF8,SUBSTRING,UTF8TOSTRING,XMLATTR,XMLNODE,XMLC= OMMENT,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,MEMO= RY_FREE,MEMORY_USED,NEXTVAL,NULLIF,READONLY,ROWNUM,SCHEMA,SCOPE_IDENTITY,SE= SSION_ID,SET,TABLE,TRANSACTION_ID,USER timeDateFunctions: CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,DATEADD,DATE= DIFF,DAYNAME,DAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_YEAR,EXTRACT,FORMATDATETIME,HO= UR,MINUTE,MONTH,MONTHNAME,PARSEDATETIME,QUARTER,SECOND,WEEK,YEAR url: jdbc:h2:mem:test userName:=20 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 526 db TRACE [main] openjpa.jdbc.JDBC - Initial connection autoCommit: t= rue, holdability: 1, TransactionIsolation: 2 528 db TRACE [main] openjpa.jdbc.JDBC - [= 0 ms] close 580 db TRACE [main] openjpa.Runtime - Found datasource1: datasource 1344= 706967 from configuration. StoreContext: org.apache.openjpa.kernel.Finalizi= ngBrokerImpl@359ecd80 590 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.x= ml" for persistent types. 591 db TRACE [main] openjpa.MetaData - The persistent unit root url is "= null" 591 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found = [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook]. 591 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in = 4 milliseconds. 619 db TRACE [main] openjpa.Enhance - org.apache.openjpa.enhance.Instrum= entationFactory.findToolsJar() -- couldn't find /System/Library/Frameworks/= JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar 620 db INFO [main] openjpa.Enhance - Creating subclass for "[class open= jpatest.Group, class openjpatest.Organization, class openjpatest.AddressBoo= k]". This means that your application will be less efficient and will consu= me more memory than it would if you ran the OpenJPA enhancer. Additionally,= lazy loading will not be available for one-to-one and many-to-one persiste= nt attributes in types using field access; they will be loaded eagerly inst= ead. 645 db TRACE [main] openjpa.Runtime - No cache marshaller found for id o= rg.apache.openjpa.conf.MetaDataCacheMaintenance. 645 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apach= e.openjpa.persistence.jdbc.PersistenceMappingFactory@643cb075". 645 db TRACE [main] openjpa.MetaData - Loading metadata for "class openj= patest.Group" under mode "[META]". 646 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.x= ml" for persistent types. 646 db TRACE [main] openjpa.MetaData - The persistent unit root url is "= null" 646 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found = [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook]. 646 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in = 1 milliseconds. 696 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Group"= . 697 db TRACE [main] openjpa.MetaData - Parsing package "openjpatest.Grou= p". 711 db TRACE [main] openjpa.MetaData - Generating default metadata for t= ype "openjpatest.Group". 711 db TRACE [main] openjpa.MetaData - Using reflection for metadata gen= eration. 748 db TRACE [main] openjpa.MetaData - Set persistence-capable superclas= s of "openjpatest.Group" to "null". 750 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpate= st.Group@471860896". 750 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.G= roup@471860896.id". 757 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.G= roup@471860896.name". 757 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.G= roup@471860896.organization". 757 db TRACE [main] openjpa.MetaData - Loading metadata for "class openj= patest.Organization" under mode "[META]". 757 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organi= zation". 757 db TRACE [main] openjpa.MetaData - Generating default metadata for t= ype "openjpatest.Organization". 757 db TRACE [main] openjpa.MetaData - Using reflection for metadata gen= eration. 764 db TRACE [main] openjpa.MetaData - Set persistence-capable superclas= s of "openjpatest.Organization" to "null". 764 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.G= roup@471860896.version". 765 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpate= st.Organization@92700153". 765 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.O= rganization@92700153.addressBook". 765 db TRACE [main] openjpa.MetaData - Loading metadata for "class openj= patest.AddressBook" under mode "[META]". 765 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Addres= sBook". 766 db TRACE [main] openjpa.MetaData - Generating default metadata for t= ype "openjpatest.AddressBook". 766 db TRACE [main] openjpa.MetaData - Using reflection for metadata gen= eration. 773 db TRACE [main] openjpa.MetaData - Generating default metadata for t= ype "openjpatest.EmailAddress". 773 db TRACE [main] openjpa.MetaData - Using reflection for metadata gen= eration. 773 db TRACE [main] openjpa.MetaData - Set persistence-capable superclas= s of "openjpatest.AddressBook" to "null". 773 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.O= rganization@92700153.hostNames". 773 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "= java.lang.Object@259650411". 775 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpates= t.Group". 778 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.G= roup@471860896.id". 783 db TRACE [main] openjpa.MetaData - =09"id" has mapping strategy "org= .apache.openjpa.jdbc.meta.strats.StringFieldStrategy". 784 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.G= roup@471860896.name". 784 db TRACE [main] openjpa.MetaData - =09"name" has mapping strategy "o= rg.apache.openjpa.jdbc.meta.strats.StringFieldStrategy". 784 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.G= roup@471860896.version". 784 db TRACE [main] openjpa.MetaData - =09"version" has mapping strategy= "none". 787 db TRACE [main] openjpa.MetaData - "openjpatest.Group= " has mapping strategy "value-map". 788 db TRACE [main] openjpa.MetaData - "openjpatest.Group" has = mapping strategy "version-number". 788 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpates= t.Group@471860896". 788 db TRACE [main] openjpa.MetaData - "openjpatest.Group" has mapping s= trategy "full". 788 db TRACE [main] openjpa.MetaData - =09Resolving field "openjpatest.G= roup@471860896.organization". Exception in thread "main" = org.apache.openjpa.persistence.ArgumentException: Errors encountered while = resolving metadata. See nested exceptions for details. =09at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository= .java:642) =09at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDa= taRepository.java:385) =09at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataReposi= tory.java:358) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:256) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:227) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:195) =09at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedCl= asses(ManagedClassSubclasser.java:134) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(A= bstractBrokerFactory.java:317) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(Abst= ractBrokerFactory.java:241) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBro= kerFactory.java:215) =09at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(Delegatin= gBrokerFactory.java:156) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:227) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:154) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:60) =09at openjpatest.Main.main(Main.java:17) Caused by: org.apache.op= enjpa.persistence.ArgumentException: No metadata was found for type "class = java.lang.Object". The class is not enhanced. =09at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDa= taRepository.java:377) =09at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataReposi= tory.java:358) =09at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:= 1821) =09at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786= ) =09at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.j= ava:435) =09at org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImp= l.java:494) =09at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732= ) =09at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:4= 58) =09at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:= 1852) =09at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786= ) =09at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepo= sitory.java:790) =09at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataReposi= tory.java:693) =09at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository= .java:617) =09... 14 more NestedThrowables: org.apache.openjpa.persiste= nce.ArgumentException: Unable to resolve type "openjpatest.AddressBook" due= to previous errors resolving related type "openjpatest.Organization". =09at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepo= sitory.java:804) =09at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataReposi= tory.java:693) =09at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository= .java:617) =09at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDa= taRepository.java:385) =09at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataReposi= tory.java:358) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:256) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:227) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:195) =09at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedCl= asses(ManagedClassSubclasser.java:134) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(A= bstractBrokerFactory.java:317) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(Abst= ractBrokerFactory.java:241) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBro= kerFactory.java:215) =09at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(Delegatin= gBrokerFactory.java:156) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:227) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:154) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:60) =09at openjpatest.Main.main(Main.java:17) java.lang.NullPointerException =09at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.= java:1514) =09at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java= :1322) =09at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo= .java:1084) =09at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappin= gInfo.java:115) =09at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappin= gInfo.java:92) =09at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.map(Relatio= nFieldStrategy.java:167) =09at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.ja= va:146) =09at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy= (RuntimeStrategyInstaller.java:82) =09at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping= .java:496) =09at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:4= 61) =09at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping= .java:853) =09at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1791= ) =09at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepo= sitory.java:790) =09at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRep= ository.java:751) =09at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository= .java:631) =09at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDa= taRepository.java:385) =09at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataReposi= tory.java:358) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:256) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:227) =09at org.apache.openjpa.enhance.PCEnhancer.(PCEnhancer.java:195) =09at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedCl= asses(ManagedClassSubclasser.java:134) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(A= bstractBrokerFactory.java:317) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(Abst= ractBrokerFactory.java:241) =09at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBro= kerFactory.java:215) =09at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(Delegatin= gBrokerFactory.java:156) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:227) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:154) =09at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM= anager(EntityManagerFactoryImpl.java:60) =09at openjpatest.Main.main(Main.java:17) Process finished with exit code 1 > 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 i= s 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 b= uild-time enhancer or the agent.) > In ManagedClassSubclasser.prepareUnenhancedClasses, the code receives a l= ist of Class objects--the ones in persistence.xml. They are not in the sam= e order as they are in persistence.xml, but I don't know if that's importan= t. The first one is Group. During the processing of Group, the code invok= es ClassMapping.setTable to set the table name, which is "group_table." Th= is comes from the @Table annotation of Group. So far, so good. Then the c= ode 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, t= he method calls rel.getTable. The "rel" variable points to the ClassMappin= g for Organization. Remember that prepareUnenhancedClasses hasn't gotten t= o 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 th= e table name has been loaded in the ClassMappingInfo instance attached to t= he ClassMapping for Organization, however the table name has not yet been c= opied from ClassMappingInfo to ClassMapping. Later, the mergeJoinColumn me= thod 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 r= eference to class B, and both classes have @Table annotations (at least), a= nd class A is processed first, then it produces a NPE. --=20 This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.