A.11. views.xml
这个类型的文件用来描述共享视图(views),参考 创建视图。
XML schema: http://schemas.haulmont.com/cuba/7.2/view.xsd.
views
– 根节点元素。
views
的元素:
view
–view
视图描述元素。view
属性:class
– 实体类。entity
– 实体名称,比如sales_Order
。这个属性可以用来替代class
属性。name
– 仓库中的视图名称,实体范围内需要名称唯一。systemProperties
– 启用包含定义在持久化实体BaseEntity
基类和Updatable
接口中的基础接口系统属性。此参数为可选参数,默认为true
。overwrite
– 启用覆盖视图功能,通过同一类以及部署在仓库(repository)的名称来覆盖同名视图。可选参数,默认为false
。extends
– 指定一个用来继承实体属性的实体视图。比如,声明extends="_local"
,这样会将实体的所有 local attributes 添加到当前视图。也是可选参数。
`view` 的元素:
- `property` – `ViewProperty` 视图属性描述元素。
`property` 的属性:
- `name` – 实体属性名称。
- `view` – 对于引用类型属性,设定一个实体关联的视图名称,用来加载实体的属性。
- `fetch` - 对于引用类型属性,设定如何从数据库取关联实体。参考 [视图]($6af429b0fd09ee58.md) 了解细节。
`property` 的元素:
- `property` – 跟实体属性描述关联。这个用来在当前描述中定义一个关联实体的无命名单行(inline)视图。
include
– 包含另外一个views.xml
文件。include
的属性:file
– 文件路径,符合 Resources 接口规范。
示例:
<views xmlns="http://schemas.haulmont.com/cuba/view.xsd">
<view class="com.sample.sales.entity.Order"
name="order-with-customer"
extends="_local">
<property name="customer" view="_minimal"/>
</view>
<view class="com.sample.sales.entity.Item"
name="itemsInOrder">
<property name="quantity"/>
<property name="product" view="_minimal"/>
</view>
<view class="com.sample.sales.entity.Order"
name="order-with-customer-defined-inline"
extends="_local">
<property name="customer">
<property name="name"/>
<property name="email"/>
</property>
</view>
</views>
也可以参考 cuba.viewsConfig 应用程序属性。