You could try Dozer.
Dozer is a Java Bean to Java Bean
mapper that recursively copies data
from one object to another. Typically,
these Java Beans will be of different
complex types.
Dozer supports simple property
mapping, complex type mapping,
bi-directional mapping,
implicit-explicit mapping, as well as
recursive mapping. This includes
mapping collection attributes that
also need mapping at the element
level.