java - Hybris ProductModel 类
问题描述
/** <i>Generated constant</i> - Attribute key of <code>Product.priceQuantity</code> attribute defined at extension <code>catalog</code>. */
public static final String PRICEQUANTITY = "priceQuantity";
public class ProductModel extends ItemModel
{
@Accessor(qualifier = "priceQuantity", type = Accessor.Type.SETTER)
public void setPriceQuantity(final Double value)
{
getPersistenceContext().setPropertyValue(PRICEQUANTITY, value);
}
}
大家好,我想了解 SAP Hybris 6.2 中生成的模型类,这个例子来自 ProductModel 类。试图理解这个例如 setter 方法,任何人都可以帮助理解以下问题吗?
getPersistenceContext()
//不确定这个方法在这个类中来自哪里,它似乎在每个 setter 中重复?setPropertyValue()
; //这是一个hibernate方法,没有看到类中导入了任何包?@Accessor(qualifier = "priceQuantity", type = Accessor.Type.SETTER)
//这个注解是什么意思?
解决方案
- AbstractItemModel(ProductModel 的超类) 有 getPersistenceContext() 这个方法返回它的局部变量 ItemModelInternalContext
- ItemModelInternalContext 是具有方法签名 getPropertyValue() 的接口,它的实现在 ItemModelContextImpl
- 访问器解释在这里https://projectlombok.org/features/experimental/Accessors