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