SAP Hybris - Modelagem

Um dos principais recursos do Hybris é a flexibilidade de adicionar novos objetos ao modelo global de dados de comércio Hybris. A modelagem de dados Hybris ajuda uma organização a manter seu banco de dados e ajuda a gerenciar conexões e consultas de banco de dados. O sistema Hybris Type é usado para projetar modelagem de dados em Hybris.

Um sistema do tipo Hybris tem os seguintes tipos suportados para modelagem de dados -

  • Items.xml - Este arquivo é usado para modelagem de dados em um modelo de dados Hybris Commerce.

  • Item types - Isso é usado para criar tabelas.

  • Relation types - Isso é usado para criar relação entre as tabelas.

  • Atomic types - Usado para criar vários tipos Atômicos.

  • Collection types - Usado para criar coleções.

  • Map Types - Para definir mapas.

  • Enum types - Para definir Enums.

Vamos agora discutir tudo isso em detalhes.

Tipos Atômicos

Eles são definidos como tipos básicos no Hybris, que incluem número Java e objetos de string - java.lang.integer, java.lang.boolean ou 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 item

Os tipos de itens são usados ​​para criar novas tabelas ou atualizar as existentes. Isso é considerado a base para um sistema do tipo Hybris. Todas as novas estruturas de tabela são configuradas sobre este tipo usando atributos diferentes, conforme mostrado abaixo -

<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 relação

Este tipo é usado para criar um link entre as tabelas. Por exemplo - você pode vincular um país e região.

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

Eles são usados ​​para construir enumeração em Java para preparar um determinado conjunto de valores. Por exemplo - meses em um ano.

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

Tipos de coleção

Eles são usados ​​para construir uma coleção / grupo de tipos de elemento - grupo de produtos, 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 mapa

Os tipos de mapa são usados ​​para armazenar pares de valores-chave na modelagem de dados Hybris. Cada chave representa seu próprio código.

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