2.3. Создание сущностей

Создадим класс сущности Customer (покупатель).

  • Перейдите в секцию Data Model дерева CUBA и нажмите New > Entity в её контекстном меню. Появится диалоговое окно New CUBA Entity.

  • В поле Entity name введите название класса сущности − Customer.

    new entity
  • Нажмите OK. В рабочей области откроется страница дизайнера сущности.

    entity designer
  • В полях Name и Table автоматически сгенерируются имя сущности и имя таблицы в базе данных.

  • В поле Parent class оставьте установленное значение − StandardEntity.

  • Поле Inheritance strategy оставьте пустым.

Далее создадим атрибуты сущности. Для этого нажмите на кнопку New, находящуюся под таблицей Attributes.

  • В отобразившемся окне Create attribute в поле Name введите название атрибута сущности − name. В списке Attribute type выберите значение DATATYPE, в поле Type укажите тип атрибута String. Далее укажите длину текстового атрибута в поле Length равной 100 символам. Установите флажок Mandatory. В поле Column автоматически сгенерируется имя колонки таблицы в базе данных.

    new attribute

    Для добавления атрибута нажмите на кнопку Add.

  • Атрибут email создается таким же образом. Добавим контроль правильности ввода для этого атрибута. После создания перейдите по ссылке Email - not set в секции Validation на панели свойств атрибута.

    email attribute
  • В диалоговм окне установите флажок Enabled и введите сообщение о проверке Email address is not valid. Нажмите на кнопку OK.

    email validation dialog

После создания атрибутов перейдите на вкладку Text. Здесь отображается исходный код класса Customer.

customer code

На этом создание сущности Customer завершено.

Создадим сущность Order (заказ).

В секции Data Model дерева CUBA нажмите на кнопку New > Entity. В поле Entity name введите название класса сущности − Order. Сущность должна иметь следующие атрибуты:

  • Namecustomer, Attribute typeASSOCIATION, TypeCustomer, CardinalityMANY_TO_ONE.

  • Namedate, Attribute typeDATATYPE, TypeDate. Для атрибута date установите флажок Mandatory.

  • Nameamount, Attribute typeDATATYPE, TypeBigDecimal.

new entity order