From dev-return-19942-apmail-openjpa-dev-archive=openjpa.apache.org@openjpa.apache.org Fri Jan 20 20:05:08 2012 Return-Path: X-Original-To: apmail-openjpa-dev-archive@www.apache.org Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1113FBF1D for ; Fri, 20 Jan 2012 20:05:08 +0000 (UTC) Received: (qmail 66447 invoked by uid 500); 20 Jan 2012 20:05:07 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 65997 invoked by uid 500); 20 Jan 2012 20:05:06 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 65972 invoked by uid 99); 20 Jan 2012 20:05:06 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Jan 2012 20:05:06 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Jan 2012 20:05:04 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 4C88A1583EF for ; Fri, 20 Jan 2012 20:04:44 +0000 (UTC) Date: Fri, 20 Jan 2012 20:04:44 +0000 (UTC) From: "Heath Thomann (Commented) (JIRA)" To: dev@openjpa.apache.org Message-ID: <1966470917.61277.1327089884314.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1082264858.6689.1299629519423.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (OPENJPA-1957) XML overriding column names for ArrayList attributes causes exception. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/OPENJPA-1957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13190056#comment-13190056 ] Heath Thomann commented on OPENJPA-1957: ---------------------------------------- Hi! I have a test (to be included) where I see the same exception which was fixed via this JIRA: org.apache.openjpa.persistence.ArgumentException: You have supplied columns for "org.apache.openjpa.persistence.arrays.model.XMLOneToManyEntity.xmlManyToOneList", but this mapping cannot have columns in this context. at org.apache.openjpa.jdbc.meta.MappingInfo.assertNoSchemaComponents(MappingInfo.java:327) at org.apache.openjpa.jdbc.meta.strats.RelationToManyTableFieldStrategy.map(RelationToManyTableFieldStrategy.java:96) at org.apache.openjpa.jdbc.meta.strats.RelationCollectionTableFieldStrategy.map(RelationCollectionTableFieldStrategy.java:94) at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:121) at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80) at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:454) at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:419) at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:855) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1651) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:812) at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:772) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:650) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:393) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataLocking(MetaDataRepository.java:366) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:360) at org.apache.openjpa.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:356) at org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:676) at org.apache.openjpa.jdbc.meta.MappingTool.buildSchema(MappingTool.java:748) at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:646) at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:153) at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:119) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:189) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145) at org.apache.openjpa.persistence.arrays.TestXMLOneToManyEntity.testExceptionArrayAsLob(TestXMLOneToManyEntity.java:34) ....................... I see the same exception when I run my test on trunk. The kicker is, if I back out the changes made in this JIRA, on both 1.2.x and trunk, my test passes!! :-( Of course, with the code changes backed out, the test Mike created for the JIRA fails. So something is not quite right/complete about this fix. Attached is a test, named "XMLMappingIssue-trunk.test" which you can simply apply to any OpenJPA release. I'd assume that if we fix this issue on trunk the same fix would apply to 1.2.x........although, the fix Mike made to 1.2.x is for some reason a bit different than the one he made to trunk so we may want to keep this in mind and become familiar with the differences. Does anyone have any thoughts here? Thanks, Heath > XML overriding column names for ArrayList attributes causes exception. > ---------------------------------------------------------------------- > > Key: OPENJPA-1957 > URL: https://issues.apache.org/jira/browse/OPENJPA-1957 > Project: OpenJPA > Issue Type: Bug > Components: jdbc > Affects Versions: 1.2.2, 2.0.1, 2.1.0 > Reporter: Heath Thomann > Assignee: Michael Dick > Priority: Minor > Fix For: 1.2.3, 2.0.2, 2.1.1, 2.2.0 > > > Take an entity class similar to the following: > public class MyEntity implements Serializable { > protected String _id; > protected ArrayList myStrings = new ArrayList(); > ....... > and a corresponding XML mapping in orm.xml: > > > > > > > > > > > > > With this configuration, the following exception can occur: > org.apache.openjpa.persistence.ArgumentException: You have supplied columns for "somepackage.MyEntity.myStrings", but this mapping cannot have columns in this context. > at org.apache.openjpa.jdbc.meta.MappingInfo.assertNoSchemaComponents(MappingInfo.java:327) > at org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy.map(HandlerFieldStrategy.java:77) > at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:121) > at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80) > at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:454) > at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:419) > at org.apache.openjpa.jdbc.meta.ClassMapping.resolveNonRelationMappings(ClassMapping.java:881) > at org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:418) > .............. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira