openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From catalina wei <catalina....@gmail.com>
Subject Re: [jira] Commented: (OPENJPA-1461) Incorrect Oracle CREATE TABLE DDL for XML column
Date Sat, 12 Jun 2010 15:23:05 GMT
Hi Michele,
It looks to me that the @XmlType annotation is causing the XmlType column
mapping.
When @XmlType annotation along with
@Strategy("org.apache.openjpa.jdbc.meta.strats.XMLValueHandler"), then the
XmlType column mapping is taking effect. Your entity annotation is using
EnumValueHandler, yet the Xml column is generated in create table DDL.

OPENJPA-1461 was resolving a problem for a Xml column mapping where Xml type
was suffixed with default length (128) - resulted in SQLException. Your
problem is a different issue - OPENJPA-1697 is addressing this issue.

Could you attach your  enum AuthorityValues source code to the jira issue ?
So I can reproduce the problem.
Thanks.
Catalina

On Fri, Jun 11, 2010 at 3:36 AM, Michele Rossi (JIRA) <jira@apache.org>wrote:

>
>    [
> https://issues.apache.org/jira/browse/OPENJPA-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877772#action_12877772]
>
> Michele Rossi commented on OPENJPA-1461:
> ----------------------------------------
>
> the result is the same even without the following annotations
>
> @Persistent
> @Strategy("org.apache.openjpa.jdbc.meta.strats.EnumValueHandler")
>
>
> I am still trying to find a way to disable the use of XmlType - I just want
> it to be a string
>
> > Incorrect Oracle CREATE TABLE DDL for XML column
> > ------------------------------------------------
> >
> >                 Key: OPENJPA-1461
> >                 URL: https://issues.apache.org/jira/browse/OPENJPA-1461
> >             Project: OpenJPA
> >          Issue Type: Bug
> >          Components: jdbc
> >    Affects Versions: 2.0.0-M3
> >            Reporter: Catalina Wei
> >            Assignee: Catalina Wei
> >             Fix For: 2.0.0-beta
> >
> >
> > A regression is found that the DDL for XML type is incorrectly generated
> for Oracle backend.
> > <openjpa-2.0.0-SNAPSHOT-rexported nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: ORA-00907: missing
> right parenthesis
> >  {stmnt 562241923 CREATE TABLE TORDER (oid NUMBER NOT NULL, amount
> NUMBER, delivered NUMBER, shipAddress XMLType(255), version NUMBER,
> CUSTOMER_COUNTRYCODE VARCHAR2(255), CUSTOMER_ID NUMBER, PRIMARY KEY (oid))}
> [code=907, state=42000]
> >       at
> org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:553)
> >       at
> org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:453)
> >       at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:155)
> >       at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:159)
> >       at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:117)
> >       at
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:207)
> >       at
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:194)
> >       at
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:152)
> >       at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:200)
> >       at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:151)
> >       at
> org.apache.openjpa.persistence.xmlmapping.query.TestXMLCustomerOrder.setUp(TestXMLCustomerOrder.java:75)
> >       at junit.framework.TestCase.runBare(TestCase.java:125)
> >       at
> org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:501)
> >       at
> org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:477)
> >       at junit.framework.TestResult$1.protect(TestResult.java:106)
> >       at junit.framework.TestResult.runProtected(TestResult.java:124)
> >       at junit.framework.TestResult.run(TestResult.java:109)
> >       at junit.framework.TestCase.run(TestCase.java:118)
> >       at
> org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.run(AbstractPersistenceTestCase.java:177)
> >       at junit.framework.TestSuite.runTest(TestSuite.java:208)
> >       at junit.framework.TestSuite.run(TestSuite.java:203)
> >       at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
> >       at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> >       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> >       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> >       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> >       at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> > Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ORA-00907:
> missing right parenthesis
> >  {stmnt 562241923 CREATE TABLE TORDER (oid NUMBER NOT NULL, amount
> NUMBER, delivered NUMBER, shipAddress XMLType(255), version NUMBER,
> CUSTOMER_COUNTRYCODE VARCHAR2(255), CUSTOMER_ID NUMBER, PRIMARY KEY (oid))}
> [code=907, state=42000]
> > Correct DDL should be:
> > CREATE TABLE TORDER (oid NUMBER NOT NULL, amount NUMBER, delivered
> NUMBER, shipAddress XMLType, version NUMBER, CUSTOMER_COUNTRYCODE
> VARCHAR2(255), CUSTOMER_ID NUMBER, PRIMARY KEY (oid))
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message