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

Richard Zowalla updated OPENJPA-2185:
-------------------------------------
    Fix Version/s: 4.2.0

> 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
>            Priority: Major
>             Fix For: 4.2.0
>
>
> 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 was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to