标准 Jspresso 操作cloneEntityCollectionFrontAction
允许复制表格中的选定行。复制仅限于当前模型,如果存在则不考虑集合(即:集合不会自动复制)
如何深度复制一个实体及其所有集合?
第二个相关问题:我试图自己写一个动作以实现集合的复制。下面是我写的部分动作:
Offer newOffer = bc.getEntityFactory().createEntityInstance(Offer.class);
Offer clonedNewOffer = bc.cloneInUnitOfWork(newOffer);
clonedNewOffer.setCustomer(curOf.getCustomer());
clonedNewOffer.setEndApplicationDate(curOf.getEndApplicationDate());
clonedNewOffer.setName(curOf.getName());
clonedNewOffer.setStartApplicationDate(curOf.getStartApplicationDate());
我为每个不令人满意的属性调用了 getter 和 setter,因为如果我向模型添加新属性或集合,则必须手动更新该方法。
有没有办法编写更智能/灵活的方法?
嗨,文森特,关于您所做的回答和您的最新建议,我将后端更改为以下内容:
Offer newOffer = bc.getEntityFactory().createEntityInstance(Offer.class);
Offer clonedNewOffer = bc.cloneInUnitOfWork(newOffer);
CarbonEntityCloneFactory.carbonCopyComponent(curOf, clonedNewOffer, bc.getEntityFactory());
bc.registerForUpdate(clonedNewOffer);
但是registerForUpdate
由于Data constraints are not satisfied
错误而失败。
我检查了 clonedNewOffer 的 Id 属性,并且 Id 已经与 curOf Id 属性相同。我理解“副本”的含义,它是所有属性的严格副本,因此,从后端,
我怎样才能复制一个实体以创建一个新实体?