In case anybody is interested, I was hitting a similar problem and here's what
was happening in my case:
EntityConverter#getAsObject() calls EntityManager#find(), but
EntityManager#find() may return a proxy instead of the real object when there's
already a proxy for the object in the session.
Now, there's code in UISelectOne#matchValue (in JSF RI) that checks whether the
value it received is in the list of select items:
//Coerce the item value type before comparing values.
Class type = value.getClass();
Object newValue;
try {
newValue = getFacesContext().getApplication().
getExpressionFactory().coerceToType(item.getValue(),
type);
} catch (ELException ele) {
...
This coercion doesn't work since value.getClass() is a proxy class, whereas
item.getValue() is plain MyObject, so it can't be coerced to the proxy type.
Thus the effect is that I can't select some entities out of the list, while
others are selectable just fine.
I'm going to implement my own slightly hacked version of EntityStore Seam
component to see if I can work around the issue.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4123768#4123768
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4123768
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user