Ok, I'll try to do that today. On Thu, Sep 22, 2011 at 2:13 AM, Dan Allen <[email protected]> wrote:
> On Wed, Sep 21, 2011 at 23:30, Lincoln Baxter, III < > [email protected]> wrote: > >> There are also other approaches, like "Active Record," but in my opinion, >> the EntityManager poses a bit of a problem: It requires that it must already >> know about the entity. And in my experience that is an inherently difficult >> problem to overcome when attempting to build truly stateless applications - >> resulting in duplicate calls to the database to fetch data that you already >> have (just to sync things up.) While this is good for things like >> transactionality, it is bad for performance, but before I get too far off >> topic here, I'm just going to stop :) In a sense, we are fighting against >> JPA combined with a Strongly Typed language. I think that the lambico >> approach (annotating interfaces, like what Spring did - yep I said it) is >> actually the best approach I've seen in a long time. >> >> > The other point to make here is that the reason we need a class at all is > because the EntityManager only gives us part of what we need. It certainly > does CRUD. But it does provide transaction boundaries, it does not hold a > reference to the active instance and some of it's methods require knowing > the context (persist vs merge vs the implicit update). We don't necessarily > want to hide the EntityManager, since a philosophy of Seam has always been > to keep the native APIs exposed and unwrapped. But we do want to keep the > developer's codebase dry. > > ...with that said, I'm fine with a "smarter" entity manager class that can > be used as a delegate. But I do think there is merit in offering a class to > extend for rapid development scenarios. > > Jose, could you make a gist for how you would create a bean for managing an > entity instance using the composite pattern? I'm asking so we have something > to contrast. > > (btw, the term EntityHandler sounds reasonable to me. Another approach > Jason and I had was EntityInstanceManager, or *Handler. We want to > distinguish between the EntityManager which manages all instances and a > component that manages just a single instance). > > -Dan > > -- > Dan Allen > Principal Software Engineer, Red Hat | Author of Seam in Action > Registered Linux User #231597 > > http://www.google.com/profiles/dan.j.allen#about > http://mojavelinux.com > http://mojavelinux.com/seaminaction > >
_______________________________________________ seam-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/seam-dev
