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) <j...@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. > >