Can you guarantee that name is unique and will never change? If not, you might want to concatenate name and id in your ValueEncoder and ignore the name in the lookup so that old bookmarks and duplicate names are not broken.
As Thiago suggested, use MappedConfiguration.override(...) to override the default encoder contributed by tapestry-hibernate.