Sebastian, For the sequence name too long problem, you could try setting the maxAutoAssignNameLength dictionary property to the maximum sequence name length in Oracle.
You can also set the sequence name via the autoAssignSequenceName dictionary property but in this case you will rather need to create the sequence manually. If the above fails, there is an option to override DBDictionary.getGeneratedKeySequenceName or OracleDictionary.getCreateTableSQL methods. You might want to open a JIRA [1] issue for this problem. Let us know if this helps. Cheers, Milosz [1] https://issues.apache.org/jira/browse/OPENJPA > Or let me re-phrase my question: > > Is there a possibility to define an alternative name for the sequence > or a table when you are using the option: > <property name="openjpa.jdbc.DBDictionary" > value="oracle(UseTriggersForAutoAssign=true,BatchLimit=100)" /> > > Or is it really required at this point to rename the table's primary key ?? > > The error message Oracle throws is like that: "could not create > sequence because "appointmentcategory_seq" is too long name." > > I will also cross post this question to the Oracle support forums, > maybe they also have an idea how to workaround that. > > Btw: Using > <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" /> > > Also throws some error in our application using Oracle database... > So I always need to manually delete all tables and re-run the > application so that the tables are created (including sequences). Is > there a way of forcing openJPA to drop all tables? In hibernate you > would say "create" instead of "update". In openJPA I don't see any > alternative to "buildSchema". Is there a "createSchema" ?! > The documentation does not say so much about schema update / > forwarding.I don't see any other option that "buildSchema" mentioned > in the docs... > > Thanks > Sebastian > > > > 2011/10/22 seba.wag...@gmail.com <seba.wag...@gmail.com>: > > Hi, > > > > we are still trying to figure out what is going wrong with Oracle and > > openJPA. > > > > Our configuration now looks like that: > > <properties> > > <property > > name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/> > > <property name="openjpa.ConnectionDriverName" > > value="oracle.jdbc.driver.OracleDriver"/> > > <property name="openjpa.ConnectionProperties" > > value="username=SYSTEM, password=admin"/> > > <property name="openjpa.ConnectionURL" > > value="jdbc:oracle:thin:@localhost:1521:openmeetings"/> > > <property > > name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/> > > <property name="openjpa.Log" > > value="DefaultLevel=WARN, Tool=INFO" /> > > <property name="openjpa.DataCache" > > value="true"/> > > <property name="openjpa.QueryCache" > > value="true"/> > > <property name="openjpa.jdbc.DBDictionary" > > value="oracle(UseTriggersForAutoAssign=true,BatchLimit=100)" /> > > <property name="openjpa.jdbc.QuerySQLCache" > > value="false"/> > > </properties> > > > > UseTriggersForAutoAssign=true is the magic key to use sequences as it seems > > ... > > however ... > > > > => The problem now is that Oracle complains that some sequences have a > > too long column name. How can we bypass that? > > > > > > Thanks > > Sebastian > > > > > > > > 2011/10/2 seba.wag...@gmail.com <seba.wag...@gmail.com>: > >> The guys from Oracle do (a bit offensive) argue that for such reasons > >> sequences do exist. > >> > >> https://forums.oracle.com/forums/thread.jspa?messageID=9909360#9909360 > >> > >> Quote: > >> "Oracle has sequences for this purpose. > >> They are either directly used in an INSERT statement, or assigned to a > >> column by means of a trigger.." > >> > >> So my question might be: Why does openJPA not create sequences? Am I > >> missing > >> some param in my config? > >> I have seen for MySQL there is an additional "sequence-table" created with > >> all index. In Oracle there seems to be no such table ... while except the > >> persistance.xml the code is 1:1 the same. > >> > >> Thanks, > >> Sebastian > >> > >> 2011/10/1 seba.wag...@gmail.com <seba.wag...@gmail.com> > >>> > >>> Hi, > >>> > >>> when using Oracle 11g with openJPA I do get the following warning while > >>> the tables are populated by openJPA: > >>> > >>> "Oracle" does not support auto-assigne d column values. The column may > >>> not behave as desired. > >>> > >>> ... and the effect is obviously that, as soon as you try to add a new > >>> column with a null value for a primary key, Oracle will throw an > >>> Exception... > >>> > >>> I can read from the Issue tracker: > >>> https://issues.apache.org/jira/browse/OPENJPA-1090 > >>> > >>> But actually the JIRA Issue 1090 is about adding this warning, not about > >>> how to solve it. > >>> > >>> What is actually the solution to fix it? > >>> Is it database related or do we need to change our code? > >>> > >>> Thank you! > >>> Sebastian > >>> > >>> -- > >>> Sebastian Wagner > >>> http://www.openmeetings.de > >>> http://www.webbase-design.de > >>> http://www.wagner-sebastian.com > >>> seba.wag...@gmail.com > >> > >> > >> > >> -- > >> Sebastian Wagner > >> http://www.openmeetings.de > >> http://www.webbase-design.de > >> http://www.wagner-sebastian.com > >> seba.wag...@gmail.com > >> > > > > > > > > -- > > Sebastian Wagner > > http://www.openmeetings.de > > http://www.webbase-design.de > > http://www.wagner-sebastian.com > > seba.wag...@gmail.com > > > > > >