Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 91826 invoked from network); 31 May 2010 14:30:03 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 31 May 2010 14:30:03 -0000 Received: (qmail 3362 invoked by uid 500); 31 May 2010 14:30:02 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 3310 invoked by uid 500); 31 May 2010 14:30:02 -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 3302 invoked by uid 99); 31 May 2010 14:30:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 31 May 2010 14:30:01 +0000 X-ASF-Spam-Status: No, hits=4.4 required=10.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of webautomator2@gmail.com designates 209.85.161.46 as permitted sender) Received: from [209.85.161.46] (HELO mail-fx0-f46.google.com) (209.85.161.46) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 31 May 2010 14:29:55 +0000 Received: by fxm8 with SMTP id 8so106126fxm.33 for ; Mon, 31 May 2010 07:29:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=z6B6xVNLTPwEpdHqcSDUwmyGepItm3JxZmKiKy7gNZ0=; b=Om3lRLQIC1HsJeByE3DJfbsk6UIyg4vOiP0t/wqkQVw4Mq9yHRqicAgr9gJLY4oBa2 btQvGTMkxAPC6UVZqK9tXk3YoiqszjjFZ651I9N5cWJ3EIphwwX+MjkC3l5s/G+IkT6Q VA8+HCyNm1cQk/vqIx6PLempETiFMuZwvg38E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=DNMCx7mVzUozeyhp/9gUQP58z/moj7mn6umb3XHM4RqMKfT4hla9oy3i8mjMYW1bVs LOTOctv6dUQ4BrNcP04dljMVR2RtA+tLApiLGcoGTy8oCeGkjpfli0PxnDUIaR48HAEG 94oFsINoSFbgztD4JpReTtuEY4G9Cmjg6s5UQ= MIME-Version: 1.0 Received: by 10.103.78.31 with SMTP id f31mr1965909mul.79.1275316173451; Mon, 31 May 2010 07:29:33 -0700 (PDT) Received: by 10.204.2.80 with HTTP; Mon, 31 May 2010 07:29:33 -0700 (PDT) Date: Mon, 31 May 2010 17:29:33 +0300 Message-ID: Subject: Mapping tool From: Web developer To: dev@openjpa.apache.org Content-Type: multipart/alternative; boundary=0016e65b62927eb4900487e4af77 --0016e65b62927eb4900487e4af77 Content-Type: text/plain; charset=ISO-8859-1 I still can't understand how to force a proper generation of sequence table. I can't understand why sequence table could not be found in my HSQLDB database. I added external builder to Eclipse (forces mapping tool to execute). Here goes: -classpath /home/webautomator/openjpa-all-2.0.0-beta3.jar:${workspace_loc:/openJPA/src}:${workspace_loc:/openJPA/bin}:/usr/share/java/log4j-1.2.15.jar org.apache.openjpa.enhance.PCEnhancer -directory ${workspace_loc:/openJPA/bin} User Phone Address ContactInfo -Dopenjpa.Log=SQL=trace -classpath /home/webautomator/openjpa-all-2.0.0-beta3.jar:/home/webautomator/hsqldb.jar:/usr/share/java/log4j-1.2.15.jar org.apache.openjpa.jdbc.kernel.TableJDBCSeq -p ${workspace_loc}/${project_name}/src/META-INF/persistence.xml -ConnectionDriverName org.hsqldb.jdbc.JDBCDriver -ConnectionURL jdbc:hsqldb:mem:persist_backend;create=true -Dopenjpa.ConnectionUserName=SA -a add -Dopenjpa.jdbc.Schema=SQL=TRACE -Dopenjpa.Log=SQL=TRACE -classpath /home/webautomator/openjpa-all-2.0.0-beta3.jar:${workspace_loc}/${project_name}/bin:/home/webautomator/hsqldb.jar org.apache.openjpa.jdbc.meta.MappingTool -sequences true -meta true -p ${workspace_loc}/${project_name}/src/META-INF/persistence.xml -ConnectionDriverName org.hsqldb.jdbc.JDBCDriver -ConnectionURL jdbc:hsqldb:mem:persist_backend -Dopenjpa.ConnectionUserName=SA Address.java ContactInfo.java Phone.java User.java -classpath /home/webautomator/openjpa-all-2.0.0-beta3.jar:${workspace_loc}/${project_name}/bin:/home/webautomator/hsqldb.jar org.apache.openjpa.jdbc.meta.MappingTool -action validate -p ${workspace_loc}/${project_name}/src/META-INF/persistence.xml -ConnectionDriverName org.hsqldb.jdbc.JDBCDriver -ConnectionURL jdbc:hsqldb:mem:persist_backend -Dopenjpa.ConnectionUserName=SA Address.java ContactInfo.java Phone.java User.java 318 embeddables INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary". 709 embeddables INFO [main] openjpa.Tool - Mapping tool running on type "class User" with action "buildSchema". 1360 embeddables INFO [main] openjpa.Tool - Mapping tool running on type "class ContactInfo" with action "buildSchema". 1376 embeddables INFO [main] openjpa.Tool - Mapping tool running on type "class Phone" with action "buildSchema". 1376 embeddables INFO [main] openjpa.Tool - Recording mapping and schema changes. 2763 embeddables TRACE [main] openjpa.jdbc.SQL - executing stmnt 1491218219 CREATE TABLE OPENJPA_SEQUENCE_TABLE (ID TINYINT NOT NULL, SEQUENCE_VALUE BIGINT, PRIMARY KEY (ID)) 2764 embeddables TRACE [main] openjpa.jdbc.SQL - [1 ms] spent 2766 embeddables TRACE [main] openjpa.jdbc.SQL - executing stmnt 65098484 CREATE TABLE User0 (id INTEGER NOT NULL, user VARCHAR(255), user_name VARCHAR(255), city VARCHAR(255), state VARCHAR(255), street VARCHAR(255), zip INTEGER, number VARCHAR(255), type VARCHAR(255), PRIMARY KEY (id)) 2769 embeddables TRACE [main] openjpa.jdbc.SQL - [2 ms] spent 2770 embeddables TRACE [main] openjpa.jdbc.SQL - executing stmnt 589734556 CREATE TABLE user_addresses (USER_ID INTEGER, city VARCHAR(255), state VARCHAR(255), street VARCHAR(255), zip INTEGER) 2771 embeddables TRACE [main] openjpa.jdbc.SQL - [1 ms] spent 2773 embeddables TRACE [main] openjpa.jdbc.SQL - executing stmnt 420745445 CREATE INDEX I_SR_DSSS_USER_ID ON user_addresses (USER_ID) 2773 embeddables TRACE [main] openjpa.jdbc.SQL - [0 ms] spent 353 embeddables INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary". 469 embeddables INFO [main] openjpa.Tool - Mapping tool running on type "class User" with action "validate". Exception in thread "main" org.apache.openjpa.util.MetaDataException: Errors encountered while resolving metadata. See nested exceptions for details. at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:642) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:355) at org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:679) at org.apache.openjpa.jdbc.meta.MappingTool.validate(MappingTool.java:737) at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:653) at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:1075) at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:989) at org.apache.openjpa.jdbc.meta.MappingTool$1.run(MappingTool.java:930) at org.apache.openjpa.lib.conf.Configurations.launchRunnable(Configurations.java:725) at org.apache.openjpa.lib.conf.Configurations.runAgainstAllAnchors(Configurations.java:715) at org.apache.openjpa.jdbc.meta.MappingTool.main(MappingTool.java:925) Caused by: org.apache.openjpa.util.MetaDataException: Table "User0" given for "User" does not exist. at org.apache.openjpa.jdbc.meta.MappingInfo.createTable(MappingInfo.java:532) at org.apache.openjpa.jdbc.meta.ClassMappingInfo.getTable(ClassMappingInfo.java:309) at org.apache.openjpa.jdbc.meta.ClassMappingInfo.getTable(ClassMappingInfo.java:331) at org.apache.openjpa.jdbc.meta.strats.FullClassStrategy.map(FullClassStrategy.java:73) at org.apache.openjpa.jdbc.meta.ClassMapping.setStrategy(ClassMapping.java:391) at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:56) at org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:411) at org.apache.openjpa.meta.MetaDataRepository.preMapping(MetaDataRepository.java:736) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:625) ... 12 more NestedThrowables: org.apache.openjpa.util.MetaDataException: Table "User0" given for "User" does not exist. at org.apache.openjpa.jdbc.meta.MappingInfo.createTable(MappingInfo.java:532) at org.apache.openjpa.jdbc.meta.ClassMappingInfo.getTable(ClassMappingInfo.java:309) at org.apache.openjpa.jdbc.meta.ClassMappingInfo.getTable(ClassMappingInfo.java:331) at org.apache.openjpa.jdbc.meta.strats.FullClassStrategy.map(FullClassStrategy.java:73) at org.apache.openjpa.jdbc.meta.ClassMapping.setStrategy(ClassMapping.java:391) at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:56) at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:820) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1791) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790) at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:751) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:631) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:355) at org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:679) at org.apache.openjpa.jdbc.meta.MappingTool.validate(MappingTool.java:737) at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:653) at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:1075) at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:989) at org.apache.openjpa.jdbc.meta.MappingTool$1.run(MappingTool.java:930) at org.apache.openjpa.lib.conf.Configurations.launchRunnable(Configurations.java:725) at org.apache.openjpa.lib.conf.Configurations.runAgainstAllAnchors(Configurations.java:715) at org.apache.openjpa.jdbc.meta.MappingTool.main(MappingTool.java:925) As anyone can understand - those table where not found via manual check (SELECT * FROM INF..MA.TABLES). And runner says the same thing: 244 embeddables INFO [main] openjpa.Runtime - Starting OpenJPA 2.0.0-beta3 438 embeddables INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary". Exception in thread "main" org.apache.openjpa.persistence.RollbackException: user lacks privilege or object not found: OPENJPA_SEQUENCE_TABLE {SELECT SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = ?} [code=-5501, state=42501] at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:573) at Main.init(Main.java:55) at Main.main(Main.java:10) Caused by: org.apache.openjpa.persistence.PersistenceException: user lacks privilege or object not found: OPENJPA_SEQUENCE_TABLE {SELECT SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = ?} [code=-5501, state=42501] at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4827) at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4787) at org.apache.openjpa.jdbc.sql.HSQLDictionary.newStoreException(HSQLDictionary.java:318) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:110) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:62) at org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:66) at org.apache.openjpa.util.ImplHelper.generateValue(ImplHelper.java:160) at org.apache.openjpa.util.ImplHelper.generateFieldValue(ImplHelper.java:144) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignField(JDBCStoreManager.java:786) at org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:487) at org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:463) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreManager.java:770) at org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId(DelegatingStoreManager.java:134) at org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:605) at org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2952) at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:40) at org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1047) at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2060) at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2020) at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1938) at org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81) at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1462) at org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:924) at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:556) ... 2 more Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: user lacks privilege or object not found: OPENJPA_SEQUENCE_TABLE {SELECT SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = ?} [code=-5501, state=42501] at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:257) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:237) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$000(LoggingConnectionDecorator.java:70) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:289) at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:186) at org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.prepareStatement(ConfiguringConnectionDecorator.java:155) at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:175) at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:549) at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529) at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:518) at org.apache.openjpa.jdbc.kernel.TableJDBCSeq.prepareStatement(TableJDBCSeq.java:806) at org.apache.openjpa.jdbc.kernel.TableJDBCSeq.getSequence(TableJDBCSeq.java:545) at org.apache.openjpa.jdbc.kernel.TableJDBCSeq.setSequence(TableJDBCSeq.java:587) at org.apache.openjpa.jdbc.kernel.TableJDBCSeq$AllocateSequenceRunnable.run(TableJDBCSeq.java:892) at org.apache.openjpa.jdbc.kernel.TableJDBCSeq.allocateSequence(TableJDBCSeq.java:454) at org.apache.openjpa.jdbc.kernel.TableJDBCSeq.nextInternal(TableJDBCSeq.java:305) at org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:60) ... 20 more Arguments: -Dopenjpa.ConnectionDriverName=org.hsqldb.jdbc.JDBCDriver -Dopenjpa.ConnectionURL=jdbc:hsqldb:mem:persist_backend -Dopenjpa.DynamicEnhancementAgent=false -Dopenjpa.RuntimeUnenhancedClasses=unsupported -Dopenjpa.ConnectionUserName=SA Backend was changed. It is mem now. John --0016e65b62927eb4900487e4af77--