openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "seba.wagner@gmail.com" <seba.wag...@gmail.com>
Subject Re: Problems with Oracle 11g and primary_key as rowtype IDENTITY
Date Thu, 01 Dec 2011 09:19:29 GMT
We finally where able to use Oracle, we've put some docs online howto
configure JPA in our Spring enabled configuration, maybe useful for
others:
http://code.google.com/p/openmeetings/wiki/Configuration_Oracle

Sebastian

2011/11/2 seba.wagner@gmail.com <seba.wagner@gmail.com>:
> Thanks Miłosz,
>
> I will try it out and come back with the results!
>
> Thanks
> Sebastian
>
>
> 2011/10/25 Miłosz Tylenda <mtylenda@o2.pl>
>>
>> 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.wagner@gmail.com <seba.wagner@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.wagner@gmail.com <seba.wagner@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.wagner@gmail.com <seba.wagner@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.wagner@gmail.com
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >> Sebastian Wagner
>> > >> http://www.openmeetings.de
>> > >> http://www.webbase-design.de
>> > >> http://www.wagner-sebastian.com
>> > >> seba.wagner@gmail.com
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Sebastian Wagner
>> > > http://www.openmeetings.de
>> > > http://www.webbase-design.de
>> > > http://www.wagner-sebastian.com
>> > > seba.wagner@gmail.com
>> > >
>> >
>> >
>> >
>> >
>
>
>
>
> --
> Sebastian Wagner
> http://www.openmeetings.de
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com



-- 
Sebastian Wagner
http://www.openmeetings.de
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Mime
View raw message