I can toggle this exception on/off by adding the schema statement. I was running
validate on my country class that persists to the country table on a
table-per-class inheritance strategy. Using 0.9.6 openJPA

16  TRACE  [main] openjpa.Runtime - Setting the following properties from
"file:/C:/BidSpec/emall/development/emall/src/main/resources/META-INF/persistenc
e.xml" into configuration: {openjpa.DetachState=loaded, openjpa.DataCache=false,
openjpa.Optimistic=true, openjpa.NontransactionalRead=true,
javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImp
l, openjpa.jdbc.DBDictionary=mysql(SupportsSubselect=true),
openjpa.Log=DefaultLevel=TRACE, Runtime=TRACE, Enhance=TRACE, Tool=TRACE,
SQL=TRACE, openjpa.ConnectionUserName=user, openjpa.ConnectionPassword=password,
openjpa.ConnectionDriverName=com.mysql.jdbc.Driver,
openjpa.MetaDataFactory=Types=ca.BidSpec.emall.categories.Attribute;ca.BidSpec.e
mall.categories.AttributeType;ca.BidSpec.emall.categories.Category;ca.BidSpec.em
all.categories.CategoryType;ca.BidSpec.emall.categories.Country;ca.BidSpec.emall
.categories.Division;ca.BidSpec.emall.categories.DivisionType;ca.BidSpec.emall.c
ategories.ImageType;ca.BidSpec.emall.categories.ProductComponent;ca.BidSpec.emal
l.categories.ProductRequiredOptional;ca.BidSpec.emall.categories.ProductType;ca.
BidSpec.emall.categories.Province;ca.BidSpec.emall.categories.Subdivision;ca.Bid
Spec.emall.commonServices.EmailAddress;ca.BidSpec.emall.commonServices.Image;ca.
BidSpec.emall.commonServices.InitializerActivity;ca.BidSpec.emall.commonServices
.PhoneNumber;ca.BidSpec.emall.commonServices.PropertyMap;ca.BidSpec.emall.common
Services.Size;ca.BidSpec.emall.commonServices.StreetAddress;ca.BidSpec.emall.com
monServices.WebAddress;ca.BidSpec.emall.money.Currency;ca.BidSpec.emall.money.Pr
ice;ca.BidSpec.emall.persistence.Persistable;ca.BidSpec.emall.products.Product;c
a.BidSpec.emall.stores.Store;ca.BidSpec.emall.user.Person,
openjpa.AutoDetach=close, openjpa.OrphanedKeyAction=log,
openjpa.Multithreaded=true,
openjpa.ConnectionURL=jdbc:mysql://dell600:3306/bidspec}
141  TRACE  [main] openjpa.MetaData - Using metadata factory
"[EMAIL PROTECTED]".
188  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class
"org.apache.openjpa.jdbc.sql.MySQLDictionary".
266  INFO   [main] openjpa.Tool - Mapping tool running on type "class
ca.BidSpec.emall.categories.Country" with action "validate".
282  TRACE  [main] openjpa.MetaData - Using metadata factory
"[EMAIL PROTECTED]".
297  TRACE  [main] openjpa.MetaData - Loading metadata for "class
ca.BidSpec.emall.categories.Country" under mode "[META][QUERY]".
297  INFO   [main] openjpa.MetaData - Found 27 classes with metadata in 0
milliseconds.
360  INFO   [main] openjpa.MetaData - Parsing class
"ca.BidSpec.emall.categories.Country".
360  INFO   [main] openjpa.MetaData - Parsing package
"ca.BidSpec.emall.categories.Country".
469  TRACE  [main] openjpa.MetaData - Generating default metadata for type
"ca.BidSpec.emall.categories.Country".
469  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
516  INFO   [main] openjpa.MetaData - Parsing query "CountryFXPK".
516  INFO   [main] openjpa.MetaData - Parsing query "CountryF".
547  TRACE  [main] openjpa.MetaData - Loading metadata for "class
ca.BidSpec.emall.persistence.Persistable" under mode "[META][QUERY]".
547  INFO   [main] openjpa.MetaData - Parsing class
"ca.BidSpec.emall.persistence.Persistable".
547  INFO   [main] openjpa.MetaData - Parsing package
"ca.BidSpec.emall.persistence.Persistable".
563  TRACE  [main] openjpa.MetaData - Generating default metadata for type
"ca.BidSpec.emall.persistence.Persistable".
563  TRACE  [main] openjpa.MetaData - Using reflection for metadata generation.
563  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of
"ca.BidSpec.emall.persistence.Persistable" to "null".
563  TRACE  [main] openjpa.MetaData - Resolving metadata for
"[EMAIL PROTECTED]".
563  TRACE  [main] openjpa.MetaData -   Resolving field
"[EMAIL PROTECTED]".
578  TRACE  [main] openjpa.MetaData -   Resolving field
"[EMAIL PROTECTED]".
594  TRACE  [main] openjpa.MetaData - Preparing mapping for
"ca.BidSpec.emall.persistence.Persistable".
594  TRACE  [main] openjpa.MetaData -   Resolving field
"[EMAIL PROTECTED]".
594  TRACE  [main] openjpa.MetaData -   "id" has mapping strategy "none".
594  TRACE  [main] openjpa.MetaData -   Resolving field
"[EMAIL PROTECTED]".
594  TRACE  [main] openjpa.MetaData -   "lastUpdated" has mapping strategy
"none".
594  TRACE  [main] openjpa.MetaData -
"ca.BidSpec.emall.persistence.Persistable<discriminator>" has mapping strategy
"none".
610  TRACE  [main] openjpa.MetaData -
"ca.BidSpec.emall.persistence.Persistable<version>" has mapping strategy "none".
610  TRACE  [main] openjpa.MetaData - Resolving mapping for
"[EMAIL PROTECTED]".
610  TRACE  [main] openjpa.MetaData - "ca.BidSpec.emall.persistence.Persistable"
has mapping strategy "none".
610  TRACE  [main] openjpa.MetaData - Set persistence-capable superclass of
"ca.BidSpec.emall.categories.Country" to "class
ca.BidSpec.emall.persistence.Persistable".
610  TRACE  [main] openjpa.MetaData - Resolving metadata for
"[EMAIL PROTECTED]".
610  TRACE  [main] openjpa.MetaData -   Resolving field
"[EMAIL PROTECTED]".
610  TRACE  [main] openjpa.MetaData -   Resolving field
"[EMAIL PROTECTED]".
610  TRACE  [main] openjpa.MetaData -   Resolving field
"[EMAIL PROTECTED]".
610  TRACE  [main] openjpa.MetaData - Preparing mapping for
"ca.BidSpec.emall.categories.Country".
907  TRACE  [main] openjpa.jdbc.JDBC - catalogSeparator: .
catalogTerm: database
databaseProductName: MySQL
databaseProductVersion: 5.0.24a-community-nt
driverName: MySQL-AB JDBC Driver
driverVersion: mysql-connector-java-5.0.4 ( $Date: 2006-10-19 17:47:48 +0200
(Thu, 19 Oct 2006) $, $Revision: 5908 $ )
extraNameCharacters: #@
identifierQuoteString: `
numericFunctions:
ABS,ACOS,ASIN,ATAN,ATAN2,BIT_COUNT,CEILING,COS,COT,DEGREES,EXP,FLOOR,LOG,LOG10,M
AX,MIN,MOD,PI,POW,POWER,RADIANS,RAND,ROUND,SIN,SQRT,TAN,TRUNCATE
procedureTerm: PROCEDURE
schemaTerm: 
searchStringEscape: \
sqlKeywords:
AUTO_INCREMENT,BINARY,BLOB,ENUM,INFILE,LOAD,MEDIUMINT,OPTION,OUTFILE,REPLACE,SET
,TEXT,UNSIGNED,ZEROFILL
stringFunctions:
ASCII,BIN,BIT_LENGTH,CHAR,CHARACTER_LENGTH,CHAR_LENGTH,CONCAT,CONCAT_WS,CONV,ELT
,EXPORT_SET,FIELD,FIND_IN_SET,HEX,INSERT,INSTR,LCASE,LEFT,LENGTH,LOAD_FILE,LOCAT
E,LOCATE,LOWER,LPAD,LTRIM,MAKE_SET,MATCH,MID,OCT,OCTET_LENGTH,ORD,POSITION,QUOTE
,REPEAT,REPLACE,REVERSE,RIGHT,RPAD,RTRIM,SOUNDEX,SPACE,STRCMP,SUBSTRING,SUBSTRIN
G,SUBSTRING,SUBSTRING,SUBSTRING_INDEX,TRIM,UCASE,UPPER
systemFunctions:
DATABASE,USER,SYSTEM_USER,SESSION_USER,PASSWORD,ENCRYPT,LAST_INSERT_ID,VERSION
timeDateFunctions:
DAYOFWEEK,WEEKDAY,DAYOFMONTH,DAYOFYEAR,MONTH,DAYNAME,MONTHNAME,QUARTER,WEEK,YEAR
,HOUR,MINUTE,SECOND,PERIOD_ADD,PERIOD_DIFF,TO_DAYS,FROM_DAYS,DATE_FORMAT,TIME_FO
RMAT,CURDATE,CURRENT_DATE,CURTIME,CURRENT_TIME,NOW,SYSDATE,CURRENT_TIMESTAMP,UNI
X_TIMESTAMP,FROM_UNIXTIME,SEC_TO_TIME,TIME_TO_SEC
url: jdbc:mysql://dell600:3306/bidspec
userName: [EMAIL PROTECTED]
defaultTransactionIsolation: 2
driverMajorVersion: 5
driverMinorVersion: 0
maxBinaryLiteralLength: 16777208
maxCatalogNameLength: 32
maxCharLiteralLength: 16777208
maxColumnNameLength: 64
maxColumnsInGroupBy: 64
maxColumnsInIndex: 16
maxColumnsInOrderBy: 64
maxColumnsInSelect: 256
maxColumnsInTable: 512
maxConnections: 0
maxCursorNameLength: 64
maxIndexLength: 256
maxProcedureNameLength: 0
maxRowSize: 2147483639
maxSchemaNameLength: 0
maxStatementLength: 65531
maxStatements: 0
maxTableNameLength: 64
maxTablesInSelect: 256
maxUserNameLength: 16
isCatalogAtStart: true
isReadOnly: false
nullPlusNonNullIsNull: true
nullsAreSortedAtEnd: false
nullsAreSortedAtStart: false
nullsAreSortedHigh: false
nullsAreSortedLow: true
storesLowerCaseIdentifiers: true
storesLowerCaseQuotedIdentifiers: true
storesMixedCaseIdentifiers: false
storesMixedCaseQuotedIdentifiers: false
storesUpperCaseIdentifiers: false
storesUpperCaseQuotedIdentifiers: true
supportsAlterTableWithAddColumn: true
supportsAlterTableWithDropColumn: true
supportsANSI92EntryLevelSQL: true
supportsANSI92FullSQL: false
supportsANSI92IntermediateSQL: false
supportsCatalogsInDataManipulation: true
supportsCatalogsInIndexDefinitions: true
supportsCatalogsInPrivilegeDefinitions: true
supportsCatalogsInProcedureCalls: true
supportsCatalogsInTableDefinitions: true
supportsColumnAliasing: true
supportsConvert: false
supportsCoreSQLGrammar: true
supportsCorrelatedSubqueries: true
supportsDataDefinitionAndDataManipulationTransactions: false
supportsDataManipulationTransactionsOnly: false
supportsDifferentTableCorrelationNames: true
supportsExpressionsInOrderBy: true
supportsExtendedSQLGrammar: false
supportsFullOuterJoins: false
supportsGroupBy: true
supportsGroupByBeyondSelect: true
supportsGroupByUnrelated: true
supportsIntegrityEnhancementFacility: false
supportsLikeEscapeClause: true
supportsLimitedOuterJoins: true
supportsMinimumSQLGrammar: true
supportsMixedCaseIdentifiers: false
supportsMixedCaseQuotedIdentifiers: false
supportsMultipleResultSets: false
supportsMultipleTransactions: true
supportsNonNullableColumns: true
supportsOpenCursorsAcrossCommit: false
supportsOpenCursorsAcrossRollback: false
supportsOpenStatementsAcrossCommit: false
supportsOpenStatementsAcrossRollback: false
supportsOrderByUnrelated: false
supportsOuterJoins: true
supportsPositionedDelete: false
supportsPositionedUpdate: false
supportsSchemasInDataManipulation: false
supportsSchemasInIndexDefinitions: false
supportsSchemasInPrivilegeDefinitions: false
supportsSchemasInProcedureCalls: false
supportsSchemasInTableDefinitions: false
supportsSelectForUpdate: true
supportsStoredProcedures: true
supportsSubqueriesInComparisons: true
supportsSubqueriesInExists: true
supportsSubqueriesInIns: true
supportsSubqueriesInQuantifieds: true
supportsTableCorrelationNames: true
supportsTransactions: true
supportsUnion: true
supportsUnionAll: true
usesLocalFilePerTable: false
usesLocalFiles: false
allProceduresAreCallable: false
allTablesAreSelectable: false
dataDefinitionCausesTransactionCommit: true
dataDefinitionIgnoredInTransactions: false
doesMaxRowSizeIncludeBlobs: true
supportsBatchUpdates: true
922  INFO   [main] openjpa.jdbc.Schema - Reading table information for schema
name "bidspec", table name "country".
922  TRACE  [main] openjpa.jdbc.JDBC - <t 29919449, conn 9472129> getColumns:
bidspec, bidspec, country, null
969  TRACE  [main] openjpa.jdbc.Schema - Reading column information for table
"country".
969  TRACE  [main] openjpa.jdbc.Schema - Found existing column "id" on table
"country".
969  TRACE  [main] openjpa.jdbc.Schema - Found existing column "name" on table
"country".
969  TRACE  [main] openjpa.jdbc.Schema - Found existing column "code" on table
"country".
969  TRACE  [main] openjpa.jdbc.Schema - Found existing column "displayName" on
table "country".
969  TRACE  [main] openjpa.jdbc.Schema - Found existing column "lastUpdated" on
table "country".
985  TRACE  [main] openjpa.jdbc.JDBC - <t 29919449, conn 9472129> [16 ms] close
985  TRACE  [main] openjpa.MetaData - Resolving mapping for
"[EMAIL PROTECTED]".
1016  INFO   [main] openjpa.jdbc.Schema - Reading table information for schema
name "bidspec", table name "country".
1016  TRACE  [main] openjpa.jdbc.JDBC - <t 29919449, conn 2850225> getColumns:
bidspec, bidspec, country, null
1032  TRACE  [main] openjpa.jdbc.Schema - Found existing column "id" on table
"country".
1032  TRACE  [main] openjpa.jdbc.Schema - Found existing column "name" on table
"country".
1032  TRACE  [main] openjpa.jdbc.Schema - Found existing column "code" on table
"country".
1032  TRACE  [main] openjpa.jdbc.Schema - Found existing column "displayName" on
table "country".
1032  TRACE  [main] openjpa.jdbc.Schema - Found existing column "lastUpdated" on
table "country".
1063  TRACE  [main] openjpa.jdbc.JDBC - <t 29919449, conn 2850225> [31 ms] close
1063  TRACE  [main] openjpa.MetaData - Clearing metadata repository
"[EMAIL PROTECTED]".
Exception in thread "main" <4|true|0.9.6-incubating>
org.apache.openjpa.util.MetaDataException: Errors encountered while resolving
metadata.  See nested exceptions for details.
        at
org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:501)
        at
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:2
83)
        at
org.apache.openjpa.jdbc.meta.MappingRepository.getMapping(MappingRepository.java
:271)
        at
org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:660)
        at
org.apache.openjpa.jdbc.meta.MappingTool.validate(MappingTool.java:718)
        at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:634)
        at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:1059)
        at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:966)
        at org.apache.openjpa.jdbc.meta.MappingTool.main(MappingTool.java:907)
Caused by: <4|true|0.9.6-incubating> org.apache.openjpa.util.MetaDataException:
Table "bidspec.country" given for "ca.BidSpec.emall.categories.Country" does not
exist.
        at
org.apache.openjpa.jdbc.meta.MappingInfo.createTable(MappingInfo.java:453)
        at
org.apache.openjpa.jdbc.meta.ClassMappingInfo.getTable(ClassMappingInfo.java:201
)
        at
org.apache.openjpa.jdbc.meta.strats.FullClassStrategy.map(FullClassStrategy.java
:68)
        at
org.apache.openjpa.jdbc.meta.ClassMapping.setStrategy(ClassMapping.java:343)
        at
org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStr
ategyInstaller.java:52)
        at
org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.
java:305)
        at
org.apache.openjpa.meta.MetaDataRepository.preMapping(MetaDataRepository.java:60
0)
        at
org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:487)
        ... 8 more
NestedThrowables:
<4|true|0.9.6-incubating> org.apache.openjpa.util.MetaDataException: Table
"bidspec.country" given for "ca.BidSpec.emall.categories.Country" does not
exist.
        at
org.apache.openjpa.jdbc.meta.MappingInfo.createTable(MappingInfo.java:453)
        at
org.apache.openjpa.jdbc.meta.ClassMappingInfo.getTable(ClassMappingInfo.java:201
)
        at
org.apache.openjpa.jdbc.meta.strats.FullClassStrategy.map(FullClassStrategy.java
:68)
        at
org.apache.openjpa.jdbc.meta.ClassMapping.setStrategy(ClassMapping.java:343)
        at
org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStr
ategyInstaller.java:52)
        at
org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:768)
        at
org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1569)
        at
org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java
:654)
        at
org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.jav
a:615)
        at
org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:493)
        at
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:2
83)
        at
org.apache.openjpa.jdbc.meta.MappingRepository.getMapping(MappingRepository.java
:271)
        at
org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:660)
        at
org.apache.openjpa.jdbc.meta.MappingTool.validate(MappingTool.java:718)
        at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:634)
        at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:1059)
        at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:966)
        at org.apache.openjpa.jdbc.meta.MappingTool.main(MappingTool.java:907)

-----Original Message-----
From: Marc Prud'hommeaux [mailto:[EMAIL PROTECTED] On Behalf Of Marc
Prud'hommeaux
Sent: April 23, 2007 1:13 PM
To: open-jpa-dev@incubator.apache.org
Subject: Re: Validate and @table schema use

Phill-

It sounds like a bug, but it would help to know what the exception was :)


On Apr 23, 2007, at 7:02 AM, Phill Moran wrote:

> I have been working with the validate tool and was getting an 
> exception on classes that used @table(name="XXX", schema="YYY").  If I 
> took out the schema portion the exception went away. I see no mention 
> of not using schema in @table for validate use. Is this a bug or 
> undocumented feature
>
> The mapping tool knows which schema to use from the URL and 
> openJPA.schema properties
>
> Phill
>

Reply via email to