尝试在Hybris上启用动态约束时出错

时间:2020-07-21 15:25:13

标签: hybris

我在Hybris中有不同的动态约束。尤其是当我想启用另一个约束具有相同的 Annotation类和Class来验证属性的约束时,由于在下面共享日志而出现错误

Caused by: de.hybris.platform.servicelayer.exceptions.ModelSavingException: [de.hybris.platform.validation.interceptors.AbstractConstraintUniqueValidator@778b3552]: Duplicated constrainted violation for a type constraint id: couponEANCheck [de.hybris.platform.couponservices.model.AbstractCouponModel ] @de.hybris.platform.validation.annotations.Dynamic groups: [[]] 
at de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.invokeValidateInterceptors(ModelWrapper.java:302) ~[coreserver.jar:?]
at de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.validate(ModelWrapper.java:239) ~[coreserver.jar:?]
at de.hybris.platform.servicelayer.internal.model.extractor.impl.DefaultModelExtractor.process(DefaultModelExtractor.java:57) ~[coreserver.jar:?]
at de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.performPersistenceOperations(DefaultModelService.java:710) ~[coreserver.jar:?]
at de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.saveAllInternal(DefaultModelService.java:705) ~[coreserver.jar:?]
at de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.saveAll(DefaultModelService.java:685) ~[coreserver.jar:?]
at de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.saveAll(DefaultModelService.java:647) ~[coreserver.jar:?]
at com.hybris.backoffice.cockpitng.dataaccess.facades.object.DefaultPlatformObjectFacadeStrategy.executeWithWorkflowTemplateActivation(DefaultPlatformObjectFacadeStrategy.java:228) ~[classes/:?]
at com.hybris.backoffice.cockpitng.dataaccess.facades.object.DefaultPlatformObjectFacadeStrategy.save(DefaultPlatformObjectFacadeStrategy.java:162) ~[classes/:?]
... 114 more

由于 getConstraintDuplicates 方法正在获取结果,为防止这种情况,我覆盖了 DefaultConstraintDao 类中的它并更改了查询。

我的问题是,这是同时启用多个具有相同 Annotation类要验证的类的约束的正确方法吗?

在覆盖并允许用户启用约束之后,这会在Hybris中引起问题吗?

谢谢!

0 个答案:

没有答案