On Apr 4, 2006, at 5:52 PM, Cyp her wrote:

* What is the best way of retrieving the session context (DataContext) on a given page and tracking the changes over a workflow and eventually committing the changes or discarding them?

Cayenne 1.2 has a WebApplicationContextFilter:

http://objectstyle.org/confluence/display/CAYDOC/Servlet+2.3+Filter

It provides you access to the session DataContext regardless of the framework you use (in the past I put it in Tapestry Visit instead, but I don't bother anymore, the filter is more portable). If you configure the filter per docs page above, you can always get the session context anywhere in the app like this:

DataContext context = DataContext.getThreadDataContext();


* I have read some people opt to use Tapestry, Spring and Hibernate. What are the advantages if there are any and can you use Tapestry, Spring and Cayenne?

Yeah, that's the right place to ask for an unbiased Cayenne vs. Hibernate comparison ;-)

Hibernate is an ORM, so conceptually it is similar to Cayenne (and EOF). Regarding the differences... Cayenne provides more EOF-like experience in managing your object graph. I've heard an opinion from a WO user that Hibernate is more like eoaccess (I guess he was referring to the fact that you need to manage a number of low-level details). In this respect Cayenne is eoaccess+eocontrol (and since recently - also EO JavaClient, for those who care). DataContext is very similar to EOEditingContext.

IMO when migrating from WO, switching from EOF to Cayenne is a relatively minor thing compared to switching WO framework to any other web front-end technology.

Andrus






Reply via email to