[
https://issues.apache.org/jira/browse/OPENJPA-1556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844080#action_12844080
]
Oliver Ringel commented on OPENJPA-1556:
----------------------------------------
the same exception occurs if you add the @Strategy annotation on a field of an
@Embeddable or @MappedSuperclass (not part of an @ElementCollection).
The attached patch does not fix the problem.
To be more concrete. I try to change the default enum handling using an own
EnumValueHandler. The Handler is working if you add
the Strategy to the @Entity. Adding the field to a @MappedSuperclass leads to
the above exception.
@javax.persistence.Entity
@javax.persistence.Table(name = "TESTENTITY")
public class TestEntity extends TestEntityBase {
...
}
@MappedSuperclass
public abstract class TestEntityBase {
@Column(name = "TESTENUMSIMPLE")
@Enumerated(javax.persistence.EnumType.STRING)
@Strategy("jpa.test.domain.EnumStrategy")
private TestEnumSimple testEnumSimple;
...
}
You get the same Exception if you add the @Strategy to a @Embeddable and I also
tried a own StringValueHandler with the same result.
> Exception thrown on first use of @Strategy in @Embeddable classes
> -----------------------------------------------------------------
>
> Key: OPENJPA-1556
> URL: https://issues.apache.org/jira/browse/OPENJPA-1556
> Project: OpenJPA
> Issue Type: Bug
> Affects Versions: 2.0.0-beta2
> Environment: Mac OS X 10.6, Maven 2.2.x, Spring 3.0
> Reporter: Jerry Carter
> Assignee: Fay Wang
> Fix For: 2.0.0
>
> Attachments: OPENJPA-1556.patch, openjpa1556.tar.zip
>
>
> I have an entity (SimpleEntity) which references an ElementCollection
> (ChildOne.class). There is a @Strategy annotation on a field within the
> embeddable class. The first time a query is built for the entity, an
> exception is thrown:
> <openjpa-2.0.0-beta2-r422266:915978 fatal user error>
> org.apache.openjpa.persistence.ArgumentException: Attempt to map
> "com.example.ChildOne.address" failed: the owning entity is not mapped.
> at
> org.apache.openjpa.jdbc.meta.MappingInfo.assertTable(MappingInfo.java:628)
> at
> org.apache.openjpa.jdbc.meta.MappingInfo.createColumns(MappingInfo.java:558)
> at
> org.apache.openjpa.jdbc.meta.ValueMappingInfo.getColumns(ValueMappingInfo.java:178)
> at
> org.apache.openjpa.jdbc.meta.strats.HandlerStrategies.map(HandlerStrategies.java:65)
> at
> org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy.map(HandlerFieldStrategy.java:81)
> at
> org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146)
> ... etc. ...
> If the @Strategy is not present, everything works fine. If the exception is
> intentionally triggered, subsequent use is successful.
> Google suggests that this behavior has been seen before
> <http://marc.info/?l=geronimo-user&m=121545735018232&w=2> and
> <http://issues.apache.org/jira/browse/OPENJPA-524>, though there appears to
> have been no resolution in either case and this differs by use of
> @ElementCollection.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.