Uh oh - exclamation points, now I *know* I'm doing something wrong. :)
OK, without going too in depth here's the flow. I have a util class with
static methods looking up the EJB3 stateless SBs:
| Context c = new InitialContext();
| return (EntityLogicRemote) c.lookup("MyProject/EntityLogicBean/remote");
|
There's a controller class that handles the JSF actions. It looks up the
remote using the method above. It then looks up the entity it needs by it's
ID, that code in the bean looks like this:
| MyEntity entity = em.find(MyEntity.class, entityId);
| return entity;
|
Of course that MyEntity is the EJB3 entity bean in question. I am, in fact
directly referencing the returned object within my JSF class (which from your
reply must be problematic). I do realize there are limitations in working with
the object, so I've carefully coded those interactions. Initially I directly
accessed that bean's getTdmAlerts method to get the TdmAlerts collection, which
I wrapped in my DataModel (successfully before I made the relationship lazy).
After I made it lazy and started getting exceptions I changed what I was doing.
I currently am trying to pass the entity instance I get from the above method
back to the session bean to refresh() it and get the TdmAlerts collection
(which obviously fails with the same exception).
Now, where I am at 8:35 PM localtime() is that instead of passing the entity
back to the session bean I just pass the site ID and look it up again where (as
you'd expect) the newly returned entity can give me it's TdmAlerts collection
without a problem. So problem solved in one sense, but I really want to do
things the Right Way.
I appreciate greatly your help so far, can you give me guidance as to how I
should structure my interactions between JSF and EJB3? When I decided to
employ these technologies on the project (which has worked swimmingly so far)
there was absolutely no documentation that I could find on the web of the
"right way" to do things. So I punted and I got things working so the project
could move forward. If I'm designing badly I'd rather know now and fix things
than continue on only to run into significant problems later.
Thanks again,
Mike
P.S. Before I submit this reply I'm going to guess at a method of doing things
the "right way" and that would be that the JSF project should never interact
with EJB entities at all and only with the EJB session beans. That would
explain your VO/TO post, however I guess I'm still a bit lost at the concept of
the proxy that you refer to. I do use transfer objects to, for example, create
an entity from data that a user fills into a form. Thanks again.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3978670#3978670
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3978670
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user