[
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)