You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Jianfeng Mao (JIRA)" <ji...@apache.org> on 2008/06/04 23:37:45 UTC
[jira] Created: (OPENJPA-623) OpenJPA 1.1.0 doesn't allow
collection-type fields to have @Column defined on them, while OpenJPA 1.0.0
does.
OpenJPA 1.1.0 doesn't allow collection-type fields to have @Column defined on them, while OpenJPA 1.0.0 does.
--------------------------------------------------------------------------------------------------------------
Key: OPENJPA-623
URL: https://issues.apache.org/jira/browse/OPENJPA-623
Project: OpenJPA
Issue Type: Bug
Components: third-party
Reporter: Jianfeng Mao
Priority: Blocker
IBM U2 databases allow a single field to store multiple-values. So we use mappings as following to map such a multi-valued field.
@Column(name="ADDRESS")
@PersistentCollection(fetch=FetchType.EAGER)
private String[] address;
@Column(name="CATEGORIES_LIKED")
@PersistentCollection(fetch=FetchType.EAGER)
private String[] categories_liked;
This worked fine with OpenJPA 1.0.0. But the new OpenJPA 1.1.0 throws exceptions like the following when parsing the mapping, is there a way to bring back the behavior of OpenJPA 1.0.0?
<openjpa-1.1.0-r422266:657916 fatal user error> org.apache.openjpa.persistence.ArgumentException: You have supplied columns for "sampleear.Customer.categories_liked", 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.HandlerCollectionTableFieldStrategy.map(HandlerCollectionTableFieldStrategy.java:100)
at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:120)
at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80)
at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:438)
at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:403)
at org.apache.openjpa.jdbc.meta.ClassMapping.resolveNonRelationMappings(ClassMapping.java:851)
at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:808)
at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1625)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (OPENJPA-623) OpenJPA 1.1.0 doesn't allow
collection-type fields to have @Column defined on them, while OpenJPA 1.0.0
does.
Posted by "Catalina Wei (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Catalina Wei resolved OPENJPA-623.
----------------------------------
Resolution: Won't Fix
To get the support for collection-type field mapping from OpenJPA 1.1.0 or later releases, you need to
specify the following property in the persistence.xml:
<property name="openjpa.Compatibility" value="storeMapCollectionInEntityAsBlob=true"/>
> OpenJPA 1.1.0 doesn't allow collection-type fields to have @Column defined on them, while OpenJPA 1.0.0 does.
> --------------------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-623
> URL: https://issues.apache.org/jira/browse/OPENJPA-623
> Project: OpenJPA
> Issue Type: Bug
> Components: third-party
> Reporter: Jianfeng Mao
> Priority: Blocker
>
> IBM U2 databases allow a single field to store multiple-values. So we use mappings as following to map such a multi-valued field.
> @Column(name="ADDRESS")
> @PersistentCollection(fetch=FetchType.EAGER)
> private String[] address;
> @Column(name="CATEGORIES_LIKED")
> @PersistentCollection(fetch=FetchType.EAGER)
> private String[] categories_liked;
> This worked fine with OpenJPA 1.0.0. But the new OpenJPA 1.1.0 throws exceptions like the following when parsing the mapping, is there a way to bring back the behavior of OpenJPA 1.0.0?
> <openjpa-1.1.0-r422266:657916 fatal user error> org.apache.openjpa.persistence.ArgumentException: You have supplied columns for "sampleear.Customer.categories_liked", 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.HandlerCollectionTableFieldStrategy.map(HandlerCollectionTableFieldStrategy.java:100)
> at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:120)
> at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80)
> at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:438)
> at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:403)
> at org.apache.openjpa.jdbc.meta.ClassMapping.resolveNonRelationMappings(ClassMapping.java:851)
> at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:808)
> at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1625)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.