Files of this type are used to describe views, see Section 4.2.3, “Views”.
XML schema is available at http://schemas.haulmont.com/cuba/5.6/view.xsd.
views
– root element.
views
elements:
-
view
–view
descriptor.view
attributes:-
class
– entity class. -
entity
– the name of the entity, for examplesales$Order
. This attribute can be used instead of theclass
attribute. -
name
– view name, unique within the entity. -
systemProperties
– enables inclusion of system attributes defined in base interfaces for persistent entitiesBaseEntity
andUpdatable
. Optional attribute,false
by default. -
overwrite
– enables overriding a view with the same class and name already deployed in the repository. Optional attribute,false
by default. -
extends
– specifies an entity view, from which the attributes should be inherited. For example, declaringextends="_local"
, will add all local attributes of an entity to the current view. Optional attribute.
view
elements:-
property
–ViewProperty
descriptor.property
attributes:-
name
– entity attribute name. -
view
– for reference type attributes, specifies a view name the associated entity should be loaded with. -
lazy
– for reference type attributes, enables excluding the attribute from the fetch plan and loading it via a separate SQL query initiated by a call to the attribute. Optional attribute,false
by default.Using
lazy
is recommended, if the current view graph contains more than one collection attribute.lazy = "true"
should be set for all collections, except one.
property
elements:-
property
– associated entity attribute descriptor. This allows defining an unnamed inline view for an associated entity in the current descriptor.
-
-
-
include
– include anotherviews.xml
file.include
attributes:-
file
– file path according to the Resources interface rules.
-
Example:
<views xmlns="http://schemas.haulmont.com/cuba/view.xsd"> <view class="com.sample.sales.entity.Order" name="orderWithCustomer" 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="orderWithCustomerDefinedInline" extends="_local"> <property name="customer"> <property name="name"/> <property name="email"/> </property> </view> </views>
See also the cuba.viewsConfig application property.