Be it a desktop or web application. Be it java or any other technology. Be it small or big size application. Any application works on some kind of data. The data here could be real time exact data like customers, products, promotions etc, or meta data (data about data).
We need to define a data structure for any application. These definitions of data structure contains the meta data about real data. For example, if Ram is a customer. Then name, email, mobile number could be Ram’s actual data, but some where we need to define, what properties of Ram (Customer) , we are likely to keep or interested in our application scope.
Such definitions of anything in application is defined as item type in Hybris. Possible examples are Customer, Product, Promotions, vendors, Categories, Stores etc.
In hybris, the item types, are basically the XML declaration of various data structures used. They are defined in items.xml.
The item type is not just about defining data structure. Hybris also generates POJO classes for each defined item type. They are known as model classes. This class provides getter and setter method for attributes. The above table shows the approximate analog of item type with Java and DBMS sysem.