[ 
https://issues.apache.org/jira/browse/OPENJPA-2185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lucas Smith updated OPENJPA-2185:
---------------------------------

    Description: 
When I want to use @SequenceGenerator I get the following exception:

Exception in thread "main" <openjpa-2.2.0-r422266:1244990 fatal user error> 
org.apache.openjpa.persistence.ArgumentException: Error instantiating named 
sequence "COMPANYSEQUENCE": Your database dictionary does not support native 
sequences.  To tell the dictionary how to select sequence values, use:
openjpa.jdbc.DBDictionary: NextSequenceQuery="SELECT NEXT VALUE FOR 
"COMPANYSEQUENCE"
Where the above string is replaced with the proper SQL for your database.
        at 
org.apache.openjpa.jdbc.kernel.NativeJDBCSeq.endConfiguration(NativeJDBCSeq.java:182)
        at 
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:518)
        at 
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:443)
        at 
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:423)
        at 
org.apache.openjpa.meta.SequenceMetaData.instantiate(SequenceMetaData.java:293)
        at 
org.apache.openjpa.meta.SequenceMetaData.getInstance(SequenceMetaData.java:263)
        at 
org.apache.openjpa.jdbc.meta.MappingTool.addSequenceComponents(MappingTool.java:628)
        at 
org.apache.openjpa.jdbc.meta.MappingTool.addSequenceComponents(MappingTool.java:600)
        at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:484)
        at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:455)
        at 
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160)
        at 
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164)
        at 
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:122)
        at 
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:209)
        at 
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
        at 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
        at 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
        at 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)

The solution is to add:

<property name="openjpa.jdbc.DBDictionary" 
value="derby(NextSequenceQuery=VALUES NEXT VALUE FOR {0})"/>

(not SELECT NEXT VALUE FOR {0} as it was suggested)

to persistence.xml.



  was:
When I want to use @SequenceGenerator I get the following exception:

Exception in thread "main" <openjpa-2.2.0-r422266:1244990 fatal user error> 
org.apache.openjpa.persistence.ArgumentException: Error instantiating named 
sequence "COMPANYSEQUENCE": Your database dictionary does not support native 
sequences.  To tell the dictionary how to select sequence values, use:
openjpa.jdbc.DBDictionary: NextSequenceQuery="SELECT NEXT VALUE FOR 
"COMPANYSEQUENCE"
Where the above string is replaced with the proper SQL for your database.
        at 
org.apache.openjpa.jdbc.kernel.NativeJDBCSeq.endConfiguration(NativeJDBCSeq.java:182)
        at 
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:518)
        at 
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:443)
        at 
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:423)
        at 
org.apache.openjpa.meta.SequenceMetaData.instantiate(SequenceMetaData.java:293)
        at 
org.apache.openjpa.meta.SequenceMetaData.getInstance(SequenceMetaData.java:263)
        at 
org.apache.openjpa.jdbc.meta.MappingTool.addSequenceComponents(MappingTool.java:628)
        at 
org.apache.openjpa.jdbc.meta.MappingTool.addSequenceComponents(MappingTool.java:600)
        at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:484)
        at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:455)
        at 
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160)
        at 
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164)
        at 
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:122)
        at 
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:209)
        at 
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
        at 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
        at 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
        at 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)

The solution is to add:

<property name="openjpa.jdbc.DBDictionary" 
value="derby(NextSequenceQuery=VALUES NEXT VALUE FOR {0})"/>

to persistence.xml.



    
> Exception when @SequenceGenerator is used with DerbyDB
> ------------------------------------------------------
>
>                 Key: OPENJPA-2185
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2185
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.2.0
>         Environment: Java SE
>            Reporter: Lucas Smith
>
> When I want to use @SequenceGenerator I get the following exception:
> Exception in thread "main" <openjpa-2.2.0-r422266:1244990 fatal user error> 
> org.apache.openjpa.persistence.ArgumentException: Error instantiating named 
> sequence "COMPANYSEQUENCE": Your database dictionary does not support native 
> sequences.  To tell the dictionary how to select sequence values, use:
> openjpa.jdbc.DBDictionary: NextSequenceQuery="SELECT NEXT VALUE FOR 
> "COMPANYSEQUENCE"
> Where the above string is replaced with the proper SQL for your database.
>       at 
> org.apache.openjpa.jdbc.kernel.NativeJDBCSeq.endConfiguration(NativeJDBCSeq.java:182)
>       at 
> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:518)
>       at 
> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:443)
>       at 
> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:423)
>       at 
> org.apache.openjpa.meta.SequenceMetaData.instantiate(SequenceMetaData.java:293)
>       at 
> org.apache.openjpa.meta.SequenceMetaData.getInstance(SequenceMetaData.java:263)
>       at 
> org.apache.openjpa.jdbc.meta.MappingTool.addSequenceComponents(MappingTool.java:628)
>       at 
> org.apache.openjpa.jdbc.meta.MappingTool.addSequenceComponents(MappingTool.java:600)
>       at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:484)
>       at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:455)
>       at 
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160)
>       at 
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164)
>       at 
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:122)
>       at 
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:209)
>       at 
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
>       at 
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
>       at 
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
>       at 
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
> The solution is to add:
> <property name="openjpa.jdbc.DBDictionary" 
> value="derby(NextSequenceQuery=VALUES NEXT VALUE FOR {0})"/>
> (not SELECT NEXT VALUE FOR {0} as it was suggested)
> to persistence.xml.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to