Hybris 克隆杂交豆的最佳方法是什么?

Hybris 克隆杂交豆的最佳方法是什么?,hybris,apache-commons-lang3,Hybris,Apache Commons Lang3,我需要克隆hybris bean“ProductData”,但我无法从hybris中找到有助于此的OOTB 由于hybrisbeans没有实现Cloneable,也没有构造函数,在我看来,剩下的方法只有两种,要么创建一个需要大量开发人员的定制克隆方法,要么通过序列化/反序列化 还有别的办法吗?Hybris是否为此提供了一些东西?或者序列化/反序列化是一种很好的方法(就性能而言),因为我可以使用apache中的序列化utils?基于您使用的hybris版本,您也可以使用ma.glasnost.or

我需要克隆hybris bean“ProductData”,但我无法从hybris中找到有助于此的OOTB

由于hybrisbeans没有实现Cloneable,也没有构造函数,在我看来,剩下的方法只有两种,要么创建一个需要大量开发人员的定制克隆方法,要么通过序列化/反序列化


还有别的办法吗?Hybris是否为此提供了一些东西?或者序列化/反序列化是一种很好的方法(就性能而言),因为我可以使用apache中的序列化utils?

基于您使用的hybris版本,您也可以使用ma.glasnost.orika.MapperFactory,如:

MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
MapperFacade mapper = mapperFactory.getMapperFacade();
ProductData clonedData = mapper.map(productData, ProductData.class);

根据您使用的hybris版本,还可以使用ma.glasnost.orika.MapperFactory,如:

MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
MapperFacade mapper = mapperFactory.getMapperFacade();
ProductData clonedData = mapper.map(productData, ProductData.class);

您好,您可以直接在控制器或服务中注入DataMapperbean

import de.hybris.platform.webservicescommons.mapping.DataMapper;
@Autowired
private DataMapper dataMapper;

dataMapper.map(e, ProductData.class)

您好,您可以直接将DataMapperbean注入控制器或服务中

import de.hybris.platform.webservicescommons.mapping.DataMapper;
@Autowired
private DataMapper dataMapper;

dataMapper.map(e, ProductData.class)

您不能从原始产品中重新填充新的
productData
?因为除了为其创建自定义克隆服务,我看不到其他方法,您可以通过反射和迭代
productData
attributes see:,并使用
modelService.clone
来克隆ItemModel类型的属性是的,我可以为此创建自定义填充,我只是想知道hybris是否提供了一些帮助,但似乎只有您提到的modelService.clone用于模型。你对SerializationUtils.clone有何看法?这是一个好方法,因为它不需要定制开发人员?是的,如果你只需要浅层克隆,你也可以使用BeanUtils:你不能从原始产品中重新填充新的
productData
?因为除了为其创建自定义克隆服务,我看不到其他方法,您可以通过反射和迭代
productData
attributes see:,并使用
modelService.clone
来克隆ItemModel类型的属性是的,我可以为此创建自定义填充,我只是想知道hybris是否提供了一些帮助,但似乎只有您提到的modelService.clone用于模型。您对SerializationUtils.clone有何看法?这是一种好方法,因为它不需要自定义开发人员?是的,如果您只需要浅层克隆,还可以使用BeanUtils: