[ 
https://issues.apache.org/jira/browse/ARIES-1341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14610038#comment-14610038
 ] 

Michał Woś commented on ARIES-1341:
-----------------------------------

inside aries, JpaBeanProcessor

    private Field getPersistenceField(Class<?> c) {
        for (Field field : c.getDeclaredFields()) {
            if (field.getAnnotation(PersistenceContext.class) != null) {
                return field;
            }
            if (field.getAnnotation(PersistenceUnit.class) != null) {
                return field;
            }
        }
        return null;
    }

field.getAnnotation(xxx) always returns null due to proxies

all issues are noticed in JpaBeanProcessor

> JpaBeanProcessor not working in karaf
> -------------------------------------
>
>                 Key: ARIES-1341
>                 URL: https://issues.apache.org/jira/browse/ARIES-1341
>             Project: Aries
>          Issue Type: Improvement
>          Components: Blueprint, JPA
>    Affects Versions: jpa-2.0.0
>         Environment: karaf-4.0.0, java 8
>            Reporter: Michał Woś
>            Assignee: Christian Schneider
>             Fix For: jpa-2.1.0, jpa-2.0.1
>
>
> * getAnnotation() return null because annotations are proxied (com.sun.proxy).
> * only top level class is scanned. super classes are not
> * only fields are scanned whereas target of persistence annotations is: TYPE, 
> METHOD, FIELD
> * Setting persistence fields results in:
> Can not set javax.persistence.EntityManager field xxx to 
> com.sun.proxy.$Proxy37



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to