Would it be possible to provide a zip with a unit test for the issue? And in the meantime, can you provide an openjpa trace (a full trace, including sql)? A trace would give me a head start before trying out a junit.
Thanks! On Jun 28, 2013, at 1:49 PM, Virag Kothari <vi...@yahoo-inc.com> wrote: > Hi Jody, > > Thanks for the reply. > Attached is the schema dump for the table. The schema generator tool does > map > the sla_xml column to varchar2(4000). So it seems to honor the @length > annotation. > The code where we define the JPA annotations for this table are at > https://svn.apache.org/repos/asf/oozie/trunk/core/src/main/java/org/apache/ > oozie/WorkflowActionBean.java > and > https://svn.apache.org/repos/asf/oozie/trunk/core/src/main/java/org/apache/ > oozie/client/rest/JsonWorkflowAction.java > > Thanks, > Virag > > On 6/28/13 10:29 AM, "Jody Grassel" <fyrew...@gmail.com> wrote: > >> Hey there. The @Length annotation should only be used by OpenJPA as an >> instruction to the schema generator tool, the runtime relies on the >> database to enforce the maximum length of a given column - which may or >> may >> not throw an Exception given the configured behavior of the database. >> >> Would you be willing to provide a unit test and a schema dump of your >> table >> from the database? >> >> On Friday, June 28, 2013, Virag Kothari wrote: >> >>> Hi, >>> >>> Can anyone please reply? >>> >>> In summary, two questions >>> >>> Having (@length=4000) is not working when using Oracle db. I see the >>> schema maps to varchar2(4000) but the openjpa insert accepts max 1000 >>> chars >>> (throws ORA-24816 which is strange). It is not an Oracle issue as I >>> tried >>> inserting in Oracle directly and anything less than 4000 chars works. >>> Can >>> someone explain why openjpa allows only 1000 chars even if the length is >>> set higher? >>> >>> Is it possible to arrange the columns in a particular order (order >>> defined >>> in java file or based on some other order) so all lob's can be at the >>> end? >>> We require this if we face ORA-24816 >>> >>> Thanks, >>> >>> Virag >>> >>> >>> >>> >>> From: Virag Kothari <vi...@yahoo-inc.com <javascript:;><mailto: >>> vi...@yahoo-inc.com <javascript:;>>> >>> Date: Monday, June 24, 2013 1:35 PM >>> To: "users@openjpa.apache.org <javascript:;><mailto: >>> users@openjpa.apache.org <javascript:;>>" >>> <users@openjpa.apache.org<javascript:;> >>> <mailto:users@openjpa.apache.org <javascript:;>>> >>> Subject: Re: ORA-24816 - column ordering during inserts >>> >>> Hi, >>> >>> An update: >>> >>> It seems the problem is something else. >>> In our code, we have defined the length as 4000. >>> >>> @Basic >>> >>> @Column(name = "sla_xml", length = 4000) >>> >>> private String slaXml = null; >>> >>> However, if this column has more than 1000 characters, it complains with >>> the below ORA-24816. >>> >>> With less than 1000 characters, it works. >>> >>> Also, I see in the oracle schema that the column is mapped as varchar2. >>> >>> So even though the length is defined as 4000, why does openjpa refuse to >>> accept more than 1000 characters? >>> >>> Can anyone help me to figure this out? >>> >>> >>> Thanks, >>> >>> Virag >>> >>> >>> >>> >>> From: Virag Kothari <vi...@yahoo-inc.com <javascript:;><mailto: >>> vi...@yahoo-inc.com <javascript:;>>> >>> Date: Friday, June 21, 2013 8:01 PM >>> To: "users@openjpa.apache.org <javascript:;><mailto: >>> users@openjpa.apache.org <javascript:;>>" >>> <users@openjpa.apache.org<javascript:;> >>> <mailto:users@openjpa.apache.org <javascript:;>>> >>> Subject: ORA-24816 - column ordering during inserts >>> >>> Hi, >>> >>> We are using Open JPA 2.2.2 in Oozie project. >>> >>> We have a mixture of lob and varchar in our tables. We >>> recently converted few of lob's to varchar (4000). >>> Now sometimes, we are seeing the following error while inserting in >>> table: >>> >>> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ORA-24816: >>> Expanded non LONG bind data supplied after actual LONG or LOB column >>> >>> It seems that ORA-24816 happens when lob's are not at the end of the >>> insert/update list. >>> >>> 2 questions: >>> >>> 1. >>> >>> Is it possible to arrange the columns in a particular order (order >>> defined >>> in java file or based on some other order) so we can have all lob's at >>> the >>> end? >>> >>> 2. We never encountered this error before even though we had 6 lobs >>> and >>> almost dozen of varchars in our table. We converted 3 lobs to >>> varchar2(4000) and started seeing this issue intermittently. Does anyone >>> suspect that this conversion from lob to varchar has a role to play? >>> >>> Thanks, >>> >>> Virag >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> > > <wf_action_schema.txt>