问题描述
我需要克隆 hybris bean“ProductData”,但我无法从 Hybris 中找到有助于此的东西。
而且由于 hybris bean 没有实现 Cloneable 并且没有构造函数,在我看来只剩下两种方法了,要么通过创建一个需要大量开发的自定义克隆方法,要么通过序列化/反序列化.
还有其他方法吗? Hybris 是否为此提供了一些 OOTB?或者序列化/反序列化是一个很好的方法(就性能而言),因为我可以使用来自 apache 的 SerializationUtils?
解决方法
根据您使用的 hybris 版本,您还可以使用 ma.glasnost.orika.MapperFactory,例如:
MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
MapperFacade mapper = mapperFactory.getMapperFacade();
ProductData clonedData = mapper.map(productData,ProductData.class);
,
嗨,您可以在控制器或服务中直接注入 dataMapper bean。
import de.hybris.platform.webservicescommons.mapping.DataMapper;
@Autowired
private DataMapper dataMapper;
dataMapper.map(e,ProductData.class)