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