SAP Hybris - 建模



Hybris 的主要功能之一是灵活地向全球 Hybris 商务数据模型添加新对象。Hybris 数据建模帮助组织维护其数据库,并帮助管理数据库连接和查询。Hybris 类型系统用于设计 Hybris 中的数据建模。

Hybris 类型系统支持以下数据建模类型:

  • items.xml − 此文件用于在 Hybris 商务数据模型中进行数据建模。

  • 项目类型 − 用于创建表。

  • 关系类型 − 用于创建表之间的关系。

  • 原子类型 − 用于创建各种原子类型。

  • 集合类型 − 用于创建集合。

  • 映射类型 − 用于定义映射。

  • 枚举类型 − 用于定义枚举。

现在让我们详细讨论所有这些。

原子类型

这些在 Hybris 中定义为基本类型,包括 Java 数字和字符串对象 – java.lang.integer, java.lang.booleanjava.lang.string

<atomictypes>
   <atomictype class = "java.lang.Object" autocreate = "true" generate = "false" />
   <atomictype class = "java.lang.Boolean" extends = "java.lang.Object" autocreate = "true" generate = "false" />
   <atomictype class = "java.lang.Double" extends = "java.lang.Number" autocreate = "true" generate = "false" />
   <atomictype class = "java.lang.String" extends = "java.lang.Object" autocreate = "true" generate = "false" />
</atomictypes>

项目类型

项目类型用于创建新表或更新现有表。这被认为是 Hybris 类型系统的基础。所有新的表结构都是使用不同的属性在此类型上配置的,如下所示:

<itemtype code = "Customer" extends = "User" 
   jaloclass = "de.hybris/platform.jalo.user.Customer" autocreate = "true" generate = "true">
   <attributes>
      <attribute autocreate = "true" qualifier = "customerID" type = "java.lang.String">
         <modifiers read = "true" write = "true" search = "true" optional = "true"/>
         <persistence type = "property"/>
      </attribute>   
   </attributes>
</itemtype>

关系类型

此类型用于创建表之间的链接。例如 - 可以链接国家和地区。

<relation code = "Country2RegionRelation" generate = "true" localized = "false" 
   autocreate = "true">
   
   <sourceElement type = "Country" qualifier = "country" cardinality = "one">
      <modifiers read = "true" write = "true" search = "true" optional = "false" unique = "true"/>
   </sourceElement>
   
   <targetElement type = "Region" qualifier = "regions" cardinality = "many">
      <modifiers read = "true" write = "true" search = "true" partof = "true"/>
   </targetElement>
</relation>

枚举类型

这些用于在 Java 中构建枚举,以准备一组特定的值。例如 - 一年中的月份。

<enumtype code = "CreditCardType" autocreate = "true" generate = "true">
   <value code = "amex"/>
   <value code = "visa"/>
   <value code = "master"/>
   <value code = "diners"/>
</enumtype>

集合类型

这些用于构建元素类型的集合/组 - 产品组等。

<collectiontype code = "ProductCollection" elementtype = "Product" autocreate = "true" generate = "true"/>
<collectiontype code = "LanguageList" elementtype = "Langauage" autocreate = "true" generate = "true"/>
<collectiontype code = "LanguageSet" elementtype = "Langauage" autocreate = "true" generate = "true"/>

映射类型

映射类型用于在 Hybris 数据建模中存储键值对。每个键代表其自己的代码。

<maptype code = "localized:java.lang.String" argumenttype = "Language" 
   returntype = "java.lang.String" autocreate = "true" generate = "false"/>
广告