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
- 对于引用类型属性,设定如何从数据库取关联实体。参考 视图 了解细节。
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 应用程序属性。