SAP Hybris - Modellazione

Una delle caratteristiche principali di Hybris è la flessibilità di aggiungere nuovi oggetti al modello globale Hybris Commerce Data. La modellazione dei dati Hybris aiuta un'organizzazione a mantenere il proprio database e aiuta a gestire le connessioni e le query del database. Il sistema Hybris Type viene utilizzato per progettare la modellazione dei dati in Hybris.

Un sistema di tipi Hybris ha i seguenti tipi supportati per la modellazione dei dati:

  • Items.xml - Questo file viene utilizzato per la modellazione dei dati in un modello di dati Hybris Commerce.

  • Item types - Viene utilizzato per creare tabelle.

  • Relation types - Viene utilizzato per creare relazioni tra le tabelle.

  • Atomic types - Usato per creare vari tipi atomici.

  • Collection types - Usato per creare collezioni.

  • Map Types - Per definire le mappe.

  • Enum types - Per definire Enum.

Discutiamo ora tutti questi in dettaglio.

Tipi atomici

Questi sono definiti come tipi di base in Hybris, che includono numero Java e oggetti stringa - 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>

Tipi di oggetto

I tipi di elemento vengono utilizzati per creare nuove tabelle o per aggiornare le tabelle esistenti. Questo è considerato come base per un sistema di tipo Hybris. Tutte le nuove strutture di tabelle vengono configurate su questo tipo utilizzando attributi diversi come mostrato di seguito:

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

Tipi di relazione

Questo tipo viene utilizzato per creare un collegamento tra le tabelle. Ad esempio: puoi collegare un paese e una regione.

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

Tipi di enumerazione

Questi vengono utilizzati per creare enumerazioni in Java per preparare un particolare insieme di valori. Ad esempio: mesi in un anno.

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

Tipi di raccolta

Questi sono usati per costruire una raccolta / un gruppo di tipi di elementi - gruppo di prodotti, ecc.

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

Tipi di mappa

I tipi di mappa vengono utilizzati per memorizzare coppie di valori chiave nella modellazione dati Hybris. Ogni chiave rappresenta il proprio codice.

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