[ 
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

Reply via email to