2.3. 创建实体

下面我们创建客户(Customer)实体类。

  • 选中 CUBA 项目树面板中的 Data Model 部分,右键点击该节点,然后点击 New > Entity。这时会出现 New CUBA Entity 对话框窗口。

  • Entity name 字段输入新实体类的名字 – Customer

    new entity
  • 点击 OK。然后会在工作区出现实体设计的界面。

    entity designer
  • 这里会自动生成实体名字和数据库表名字,分别填写在 Entity nameTable 字段。

  • Parent 字段就按照默认给的值 StandardEntity 就可以。

  • Inheritance 字段不需改动。

下一步,创建实体的属性。点击 Attributes 表格下面的 New 按钮。

  • 会出现 Create attribute 窗口。在 Name 字段输入属性名称 name,在 Attribute type 字段选择属性的数据类型,选择 DATATYPE,在 Type 字段选择 String。勾上 Mandatory 复选框。然后会在 Column 字段自动生成数据库表的列名。

    new attribute

    点击 Add 添加属性。

  • email 属性也按照相同的方式创建。但是对于该字段,我们需要添加验证。在创建该属性之后,点击在字段属性配置栏的 Validation 区域点击 Email - not set 链接。

    email attribute
  • 在窗口中勾选 Enabled 复选框并且填写验证错误消息 Email address is not valid 然后点击 OK

    email validation dialog

现在切换到 Text 标签页,这里包含了 Customer 类的源代码。

点击类名称,然后用 Studio 的检查功能(inspection)来为 Customer 实体指定实例名称。在可选的属性列表中选择 name。然后会生成类注解: @NamePattern("%s|name")

name pattern

现在 Customer 实体创建完了。

下面创建 Order 实体。

右键点击 CUBA 项目树中的 Data Model 部分,然后点击 New > Entity。输入 Entity nameOrder。实体需要包含如下属性:

  • Namecustomer, Attribute typeASSOCIATION, TypeCustomer, CardinalityMANY_TO_ONE

  • Namedate, Attribute typeDATATYPE, TypeDate。勾选 Mandatory

  • Nameamount, Attribute typeDATATYPE, TypeBigDecimal

new entity order