openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Romanov <alexey.v.roma...@gmail.com>
Subject Re: Change of MappingDefaults breaks OPENJPA_SEQUENCE_TABLE
Date Thu, 21 Jun 2012 17:25:18 GMT
Option 1 is probably the more suitable one. My current solution
preserves the case, but I don't actually need that; lowercase
everywhere is good enough. Thanks!

Yours, Alexey Romanov


On Thu, Jun 21, 2012 at 7:06 PM, Dianne Richards [via OpenJPA]
<ml-node+s208410n7580363h2@n2.nabble.com> wrote:
> 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
> <[hidden email]>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]
>> <[hidden email]> 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
>> >>>>
>> >>>> <property name="openjpa.jdbc.MappingDefaults"
>> >>>>
>> >>>>
>> >>>>
>>
>>  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:
>> >>>>
>> >>>> <property name="openjpa.jdbc.SynchronizeMappings"
>> >>>>    value="buildSchema(ForeignKeys=true)" />
>> >>>> <property name="openjpa.jdbc.DBDictionary"
>> >>>>    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
>
>
> ________________________________
> 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-tp7580246p7580363.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-tp7580246p7580367.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message