[ 
https://issues.apache.org/jira/browse/JCR-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christophe Lombart reassigned JCR-1889:
---------------------------------------

    Assignee: Christophe Lombart

> Incorrect support for java interfaces in typed collection fields
> ----------------------------------------------------------------
>
>                 Key: JCR-1889
>                 URL: https://issues.apache.org/jira/browse/JCR-1889
>             Project: Jackrabbit
>          Issue Type: Bug
>    Affects Versions: 1.4, 1.5.0
>            Reporter: Christophe Lombart
>            Assignee: Christophe Lombart
>
> If a typed collection field is defined with an Interface as the type, the 
> following exception is thrown when the main object is inserted : 
> org.apache.jackrabbit.ocm.exception.JcrMappingException: Cannot load class 
> interface [name of the interface];
> Here is a example : 
> @Node
> public class EntityA {
>        @Field(path=true) String path;
>        @Collection List<MyInterface> entityB;
>        ....
> }
> When inserting a new instance of EntityA with a not null entityB, the 
> exception is thrown. 
> A workaround is to add the elementClassName on the annotation @Collection. 
> ex. : 
> @Collection (elementClassName=MyInterface.class) List<MyInterface> entityB;
> elementClassName is used only for untyped collections but if you specify it 
> for a typed collection, the ObjectContentManager will not use reflexion to 
> check the collection class name. 
>  
> This should be nice to avoid the usage of elementClassName for typed 
> collections. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to