A.11. views.xml

这个类型的文件用来描述共享视图(views),参考 创建视图

XML schema: http://schemas.haulmont.com/cuba/7.2/view.xsd.

views – 根节点元素。

views 的元素:

  • viewview 视图描述元素。

    view 属性:

    • class – 实体类。

    • entity – 实体名称,比如 sales_Order。这个属性可以用来替代 class 属性。

    • name – 仓库中的视图名称,实体范围内需要名称唯一。

    • systemProperties – 启用包含定义在持久化实体 BaseEntity 基类和 Updatable 接口中的基础接口系统属性。此参数为可选参数,默认为 true

    • overwrite – 启用覆盖视图功能,通过同一类以及部署在仓库(repository)的名称来覆盖同名视图。可选参数,默认为 false

    • extends – 指定一个用来继承实体属性的实体视图。比如,声明 extends="_local",这样会将实体的所有 local attributes 添加到当前视图。也是可选参数。

  1. `view` 的元素:
  2. - `property` `ViewProperty` 视图属性描述元素。
  3. `property` 的属性:
  4. - `name` 实体属性名称。
  5. - `view` 对于引用类型属性,设定一个实体关联的视图名称,用来加载实体的属性。
  6. - `fetch` - 对于引用类型属性,设定如何从数据库取关联实体。参考 [视图]($6af429b0fd09ee58.md) 了解细节。
  7. `property` 的元素:
  8. - `property` 跟实体属性描述关联。这个用来在当前描述中定义一个关联实体的无命名单行(inline)视图。
  • include – 包含另外一个 views.xml 文件。

    include 的属性:

    • file – 文件路径,符合 Resources 接口规范。

示例:

  1. <views xmlns="http://schemas.haulmont.com/cuba/view.xsd">
  2. <view class="com.sample.sales.entity.Order"
  3. name="order-with-customer"
  4. extends="_local">
  5. <property name="customer" view="_minimal"/>
  6. </view>
  7. <view class="com.sample.sales.entity.Item"
  8. name="itemsInOrder">
  9. <property name="quantity"/>
  10. <property name="product" view="_minimal"/>
  11. </view>
  12. <view class="com.sample.sales.entity.Order"
  13. name="order-with-customer-defined-inline"
  14. extends="_local">
  15. <property name="customer">
  16. <property name="name"/>
  17. <property name="email"/>
  18. </property>
  19. </view>
  20. </views>

也可以参考 cuba.viewsConfig 应用程序属性。