SAP Hybris: modelado

Una de las principales características de Hybris es la flexibilidad para agregar nuevos objetos al modelo global de Hybris Commerce Data. El modelado de datos de Hybris ayuda a una organización a mantener su base de datos y ayuda a administrar las conexiones y consultas de la base de datos. El sistema Hybris Type se utiliza para diseñar modelos de datos en Hybris.

Un sistema de tipo Hybris tiene los siguientes tipos compatibles para el modelado de datos:

  • Items.xml - Este archivo se utiliza para el modelado de datos en un modelo de datos de Hybris Commerce.

  • Item types - Esto se usa para crear tablas.

  • Relation types - Esto se utiliza para crear una relación entre tablas.

  • Atomic types - Se utiliza para crear varios tipos atómicos.

  • Collection types - Se utiliza para crear colecciones.

  • Map Types - Definir mapas.

  • Enum types - Definir Enums.

Analicemos ahora todos estos en detalle.

Tipos atómicos

Estos se definen como tipos básicos en Hybris, que incluyen objetos de cadena y número de Java: java.lang.integer, java.lang.boolean o java.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>

Tipos de artículo

Los tipos de elementos se utilizan para crear nuevas tablas o actualizar tablas existentes. Esto se considera una base para un sistema de tipo Hybris. Todas las nuevas estructuras de tabla se configuran sobre este tipo usando diferentes atributos como se muestra a continuación:

<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>

Tipos de relación

Este tipo se utiliza para crear un vínculo entre tablas. Por ejemplo, puede vincular un país y una región.

<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>

Tipos de enumeración

Estos se utilizan para crear enumeraciones en Java para preparar un conjunto particular de valores. Por ejemplo: meses en un año.

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

Tipos de colección

Estos se utilizan para crear una colección / grupo de tipos de elementos: grupo de productos, etc.

<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"/>

Tipos de mapas

Los tipos de mapas se utilizan para almacenar pares de valores clave en el modelado de datos de Hybris. Cada clave representa su propio código.

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