openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dianne Richards <diann...@gmail.com>
Subject Re: Change of MappingDefaults breaks OPENJPA_SEQUENCE_TABLE
Date Thu, 21 Jun 2012 15:06:04 GMT
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
<alexey.v.romanov@gmail.com>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]
> <ml-node+s208410n7580349h68@n2.nabble.com> 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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message