Return-Path: X-Original-To: apmail-openjpa-users-archive@minotaur.apache.org Delivered-To: apmail-openjpa-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0C8049213 for ; Thu, 21 Jun 2012 15:06:32 +0000 (UTC) Received: (qmail 11809 invoked by uid 500); 21 Jun 2012 15:06:31 -0000 Delivered-To: apmail-openjpa-users-archive@openjpa.apache.org Received: (qmail 11777 invoked by uid 500); 21 Jun 2012 15:06:31 -0000 Mailing-List: contact users-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@openjpa.apache.org Delivered-To: mailing list users@openjpa.apache.org Received: (qmail 11769 invoked by uid 99); 21 Jun 2012 15:06:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jun 2012 15:06:31 +0000 X-ASF-Spam-Status: No, hits=3.1 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,URI_HEX X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of dianner4@gmail.com designates 209.85.214.46 as permitted sender) Received: from [209.85.214.46] (HELO mail-bk0-f46.google.com) (209.85.214.46) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jun 2012 15:06:26 +0000 Received: by bkcji2 with SMTP id ji2so757921bkc.33 for ; Thu, 21 Jun 2012 08:06:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=9EVYtzjjMYMMRe+SHHvymL/AJb8nK9UCbw04wPFMKq0=; b=YLr5j5bon054PbxMvkpDtPFt0qAPPC/0ZLGL1mM5IJy5ZmnUH4DRk9N2UxE4d2Rf+U bH9ZC5veGwvgo4SXwsF2f+ntSlDBqOOobLRClfaNpqV1a/omOwybWDIs+wkTypqk8PHa vkO9PP7PSRMM1sjXEo+OmRgxjS7iLgVv5NnDRG3GFVGlLeAt8ZTAqpZhuLyf1obhdGUU AdBlFa31W6ArQFb2PEfG5sRyrMDDUA4yzQGQJ03IqmdP4pv2GhyTQvWChR9OvJvueYe2 KwBEMNv+cOOkfML32tyn9hhLFNiH9bP9+nKzL5++8rhJ6zFcfblsSA1vAOltSA4Bw2xp fNKA== MIME-Version: 1.0 Received: by 10.204.128.88 with SMTP id j24mr12250604bks.89.1340291164292; Thu, 21 Jun 2012 08:06:04 -0700 (PDT) Received: by 10.204.176.17 with HTTP; Thu, 21 Jun 2012 08:06:04 -0700 (PDT) In-Reply-To: References: Date: Thu, 21 Jun 2012 10:06:04 -0500 Message-ID: Subject: Re: Change of MappingDefaults breaks OPENJPA_SEQUENCE_TABLE From: Dianne Richards To: users@openjpa.apache.org Content-Type: multipart/alternative; boundary=0015174c41cabe462904c2fcda0f X-Virus-Checked: Checked by ClamAV on apache.org --0015174c41cabe462904c2fcda0f Content-Type: text/plain; charset=ISO-8859-1 ok - I didn't catch it earlier that you wanted lowercase. You actually have 2 options: 1 - You can call toLower() on your validName. Here's the revised method. protected void correctName(Table table, Column col) { DBIdentifier name = DBIdentifier.newColumn(col.getIdentifier().getName(), false); DBIdentifier correctedName = DBIdentifier.newColumn(addUnderscores(name.getName())); DBIdentifier validName = dict.getValidColumnName(correctedName, table); DBIdentifier validNameLower = validName.toLower(validName); col.setIdentifier(validNameLower); table.addCorrectedColumnName(validNameLower, true); } 2 - You can actually override DBIdentifierUtilImpl and specify the new class with the jdbc.IdentifierUtil property. You can then have makeIdentifierValid() do what you want. Note: Even though your SQL has lower case names, in many DBs the name will be set to uppercase. The only way to preserve case is to delimit the names. Dianne On Wed, Jun 20, 2012 at 2:39 PM, Alexey Romanov wrote: > Yes, that was one of things I've tried, but I much prefer lowercase > for identifiers in SQL to make it more readable :) And I've decided > that complicating my MappingDefaults for it slightly is a good > tradeoff. > > One more complication was that in the OSGi setting I had to add a > fragment to the OpenJPA bundle to let it load my MappingDefaults class > and presumably the same would apply to other classes specified by > plugin strings. Perhaps OpenJPA bundle headers should include > `DynamicImport-Package: *`? > > Yours, Alexey Romanov > > > On Wed, Jun 20, 2012 at 9:37 PM, Dianne Richards [via OpenJPA] > wrote: > > ok - Here's what I think you should do. First, set the delimit value to > > "false" in the newColumn() call, as I indicated in a previous post. Then, > > switch the statements for assigning validName and correctedName. Here's > an > > example: > > > > public class ImprovedMappingDefaults extends PersistenceMappingDefaults { > > @Override > > protected void correctName(Table table, Column col) { > > DBIdentifier name = > > DBIdentifier.newColumn(col.getIdentifier().getName(), false); > > DBIdentifier correctedName = > > DBIdentifier.newColumn(addUnderscores(name.getName())); > > DBIdentifier validName = dict.getValidColumnName(correctedName, > > table); > > col.setIdentifier(validName); > > table.addCorrectedColumnName(validName, true); > > } > > > > I think this change will at least allow the table to be created as you > > desire. > > > > Here's the SQL for my test: > > CREATE TABLE object_classes -- EntityWithUnderscore > > (ID_COL INTEGER NOT NULL, NAME VARCHAR(255) NOT NULL, NAME_COL > > VARCHAR(255), PRIMARY KEY (ID_COL), CONSTRAINT U_BJCTSSS_NAME UNIQUE > (NAME)) > > > > I haven't tried any queries. I will if you run into later problems. > > > > Dianne > > > > On Wed, Jun 20, 2012 at 12:04 PM, Dianne Richards <[hidden email]>wrote: > > > >> Oops - I just looked more closely at the output, and it's not what you > >> want. I'll keep going. > >> > >> Dianne > >> > >> > >> On Wed, Jun 20, 2012 at 11:53 AM, Dianne Richards <[hidden email]>wrote: > >> > >>> Hi Alexey - I was able to reproduce this problem with a simple test > case > >>> and debug it. I think you can get what you want by changing the > following > >>> line in your ImprovedMappingDefaults: > >>> > >>> DBIdentifier.newColumn(col.getIdentifier().getName(), true); > >>> > >>> Change the "true" to "false". What's happening is the true says to > >>> delimit the name, which has a rippling effect. I don't think you want > >>> this. > >>> > >>> It works on my simple test, so hopefully it will work for you. > >>> > >>> Dianne > >>> > >>> > >>> On Sat, Jun 9, 2012 at 2:11 AM, Alexey Romanov < > >>> [hidden email]> wrote: > >>> > >>>> I've tried to change mapping defaults to use lowercase underscore > column > >>>> names: > >>>> > >>>> package ru.focusmedia.odp.server.datastore.jpa.impl; > >>>> > >>>> import org.apache.openjpa.jdbc.identifier.DBIdentifier; > >>>> import org.apache.openjpa.jdbc.schema.Column; > >>>> import org.apache.openjpa.jdbc.schema.Table; > >>>> import org.apache.openjpa.persistence.jdbc.PersistenceMappingDefaults; > >>>> > >>>> public class ImprovedMappingDefaults extends > PersistenceMappingDefaults > >>>> { > >>>> @Override > >>>> protected void correctName(Table table, Column col) { > >>>> DBIdentifier name = > >>>> DBIdentifier.newColumn(col.getIdentifier().getName(), true); > >>>> DBIdentifier validName = dict.getValidColumnName(name, table); > >>>> DBIdentifier correctedName = DBIdentifier > >>>> .newColumn(addUnderscores(validName.getName())); > >>>> col.setIdentifier(correctedName); > >>>> table.addCorrectedColumnName(correctedName, true); > >>>> } > >>>> > >>>> // taken from Hibernate's ImprovedNamingStrategy > >>>> private static String addUnderscores(String name) { > >>>> StringBuffer buf = new StringBuffer(name.replace('.', '_')); > >>>> for (int i = 1; i < buf.length() - 1; i++) { > >>>> if (Character.isLowerCase(buf.charAt(i - 1)) > >>>> && Character.isUpperCase(buf.charAt(i)) > >>>> && Character.isLowerCase(buf.charAt(i + 1))) { > >>>> buf.insert(i++, '_'); > >>>> } > >>>> } > >>>> return buf.toString().toLowerCase(); > >>>> } > >>>> } > >>>> > >>>> and added > >>>> > >>>> >>>> > >>>> > >>>> > value="ru.focusmedia.odp.server.datastore.jpa.impl.ImprovedMappingDefaults"/> > >>>> > >>>> to persistence.xml. However, this produces the following error: > >>>> > >>>> org.apache.openjpa.persistence.PersistenceException: Table/View > >>>> 'OPENJPA_SEQUENCE_TABLE' does not exist. {SELECT SEQUENCE_VALUE FROM > >>>> OPENJPA_SEQUENCE_TABLE WHERE ID = ? FOR UPDATE WITH RR} [code=20000, > >>>> state=42X05] > >>>> at > >>>> > org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4918) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4878) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:110) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:62) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:66) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> org.apache.openjpa.util.ImplHelper.generateValue(ImplHelper.java:160) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.util.ImplHelper.generateFieldValue(ImplHelper.java:144) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignField(JDBCStoreManager.java:756) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:493) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:469) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreManager.java:740) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId(DelegatingStoreManager.java:135) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:612) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2977) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:40) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1054) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2112) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1843) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > org.apache.openjpa.kernel.QueryImpl.isInMemory(QueryImpl.java:973) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:853) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:286) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:330) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > com.mysema.query.jpa.impl.AbstractJPAQuery.getSingleResult(AbstractJPAQuery.java:249) > >>>> ~[querydsl-jpa-2.6.0.jar:na] > >>>> at > >>>> > >>>> > com.mysema.query.jpa.impl.AbstractJPAQuery.uniqueResult(AbstractJPAQuery.java:327) > >>>> ~[querydsl-jpa-2.6.0.jar:na] > >>>> at > >>>> > >>>> > com.mysema.query.jpa.impl.AbstractJPAQuery.uniqueResult(AbstractJPAQuery.java:312) > >>>> ~[querydsl-jpa-2.6.0.jar:na] > >>>> at > >>>> > >>>> > ru.focusmedia.odp.server.datastore.jpa.repository.RepositoryImpl.getRoleByName(RepositoryImpl.java:523) > >>>> [classes/:na] > >>>> at > >>>> > >>>> > ru.focusmedia.odp.server.datastore.jpa.repository.RepositoryImpl.access$4(RepositoryImpl.java:521) > >>>> [classes/:na] > >>>> at > >>>> > >>>> > ru.focusmedia.odp.server.datastore.jpa.repository.RepositoryImpl$14.call(RepositoryImpl.java:572) > >>>> [classes/:na] > >>>> at > >>>> > >>>> > ru.focusmedia.odp.server.datastore.jpa.repository.RepositoryImpl$14.call(RepositoryImpl.java:1) > >>>> [classes/:na] > >>>> at > >>>> > >>>> > ru.focusmedia.odp.server.datastore.jpa.repository.RepositoryImpl.transact(RepositoryImpl.java:705) > >>>> [classes/:na] > >>>> at > >>>> > >>>> > ru.focusmedia.odp.server.datastore.jpa.repository.RepositoryImpl.createUser(RepositoryImpl.java:568) > >>>> [classes/:na] > >>>> at > >>>> > >>>> > ru.focusmedia.odp.server.datastore.jpa.repository.RepositoryTest.userCanBeCreated(RepositoryTest.java:158) > >>>> [test-classes/:na] > >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>>> ~[na:1.6.0_31] > >>>> at > >>>> > >>>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>>> ~[na:1.6.0_31] > >>>> at > >>>> > >>>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>>> ~[na:1.6.0_31] > >>>> at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31] > >>>> at > >>>> > >>>> > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) > >>>> [junit-4.10.jar:na] > >>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) > >>>> [junit-4.10.jar:na] > >>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) > >>>> [junit-4.10.jar:na] > >>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) > >>>> [junit-4.10.jar:na] > >>>> at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) > >>>> [junit-4.10.jar:na] > >>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) > >>>> [junit-4.10.jar:na] > >>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) > >>>> [junit-4.10.jar:na] > >>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:300) > >>>> [junit-4.10.jar:na] > >>>> at > >>>> > >>>> > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) > >>>> [.cp/:na] > >>>> at > >>>> > >>>> > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > >>>> [.cp/:na] > >>>> at > >>>> > >>>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) > >>>> [.cp/:na] > >>>> at > >>>> > >>>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) > >>>> [.cp/:na] > >>>> at > >>>> > >>>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) > >>>> [.cp/:na] > >>>> at > >>>> > >>>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) > >>>> [.cp/:na] > >>>> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: > >>>> Table/View 'OPENJPA_SEQUENCE_TABLE' does not exist. {SELECT > >>>> SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = ? FOR UPDATE > >>>> WITH RR} [code=20000, state=42X05] > >>>> at > >>>> > >>>> > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:247) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:227) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$000(LoggingConnectionDecorator.java:72) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:279) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:133) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.prepareStatement(ConfiguringConnectionDecorator.java:140) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:122) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:449) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:429) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:418) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.TableJDBCSeq.prepareStatement(TableJDBCSeq.java:807) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.TableJDBCSeq.getSequence(TableJDBCSeq.java:546) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.TableJDBCSeq.setSequence(TableJDBCSeq.java:588) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.TableJDBCSeq$AllocateSequenceRunnable.run(TableJDBCSeq.java:893) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.TableJDBCSeq.allocateSequence(TableJDBCSeq.java:455) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.TableJDBCSeq.nextInternal(TableJDBCSeq.java:300) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> at > >>>> > >>>> > org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:60) > >>>> ~[openjpa-2.2.0.jar:2.2.0] > >>>> ... 58 common frames omitted > >>>> > >>>> before any tables are created. Googling says this may happen because > >>>> SynchronizeMappings isn't set, but it is in my case: > >>>> > >>>> >>>> value="buildSchema(ForeignKeys=true)" /> > >>>> >>>> value="derby(NextSequenceQuery=VALUES NEXT VALUE FOR {0})" /> > >>>> > >>>> How can I get this to work? > >>>> > >>>> Yours, Alexey Romanov > >>>> > >>> > >>> > >>> > >>> -- > >>> Thanks - Dianne > >>> > >> > >> > >> > >> -- > >> Thanks - Dianne > >> > > > > > > > > -- > > Thanks - Dianne > > > > > > ________________________________ > > If you reply to this email, your message will be added to the discussion > > below: > > > http://openjpa.208410.n2.nabble.com/Change-of-MappingDefaults-breaks-OPENJPA-SEQUENCE-TABLE-tp7580246p7580349.html > > To unsubscribe from Change of MappingDefaults breaks > OPENJPA_SEQUENCE_TABLE, > > click here. > > NAML > > > -- > View this message in context: > http://openjpa.208410.n2.nabble.com/Change-of-MappingDefaults-breaks-OPENJPA-SEQUENCE-TABLE-tp7580246p7580352.html > Sent from the OpenJPA Users mailing list archive at Nabble.com. > -- Thanks - Dianne --0015174c41cabe462904c2fcda0f--