Apologies for my last post. After re-reading it I've just seen it was gibberish.
At the minute I'm declaring transactions around my Service layer with a TransactionProxyFactoryBean. Anything that leaves here has to be eagerly fetched (as I'm using Hibernate, lazy loading issues) to ensure its available once the transaction has ended. Any object modified object that comes back into the Service has to be reattached. Does that make more sense, is that what your were suggesting?
My other point was that the web tier can call methods on my object model that should really be hidden. I can make them default or protected, but is there a preferred solution here. A View interface might have been an idea if reflection wasn't involved. user.setFirstName ( "karl" ); is ok but user.enable (); would be inappropriate. I just wondered was there a common approach here.