[ https://issues.apache.org/jira/browse/OPENJPA-1957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dick resolved OPENJPA-1957. ----------------------------------- Resolution: Fixed > 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<String> myStrings = new ArrayList<String>(); > ....... > and a corresponding XML mapping in orm.xml: > <entity class="somepackage.MyEntity" access="FIELD"> > <table name="MY_TABLE"/> > <attributes> > <id name="_id"> > <column name="MYENTITY_ID" nullable="false" /> > </id> > <basic name="myStrings"> > <column name="MY_STRINGS"/> > <lob/> > </basic> > </attributes> > </entity> > With this configuration, the following exception can occur: > org.apache.openjpa.persistence.ArgumentException: You have supplied columns > for "somepackage.MyEntity.myStrings<element:class java.lang.String>", 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. For more information on JIRA, see: http://www.atlassian.com/software/jira