Файлы данного типа используются для описания представлений, см. Раздел 4.2.3, «Представления»
Схема XML доступна по адресу http://schemas.haulmont.com/cuba/5.6/view.xsd
views
- корневой элемент
Элементы views
:
-
view
- описательView
Атрибуты
view
:-
class
- класс сущности. -
entity
- имя сущности, напримерsales$Order
. Может быть использован вместо атрибутаclass
. -
name
- имя представления, должно быть уникальным в пределах сущности. -
systemProperties
- признак включения системных атрибутов сущности (входящих в состав базовых интерфейсов персистентных сущностейBaseEntity
иUpdatable
). Необязательный атрибут, по умолчаниюfalse
. -
overwrite
- признак того, что данный описатель должен переопределить представление с таким же классом и именем, уже развернутое в репозитории. Необязательный атрибут, по умолчаниюfalse
. -
extends
- указывает имя представления той же сущности, от которого нужно унаследовать атрибуты. Порядок следования описателей в файле при этом не важен. Например, при указанииextends="_local"
в текущее представление будут включены все локальные атрибуты сущности. Необязательный атрибут.
Элементы
view
:-
property
- описательViewProperty
.Атрибуты
property
:-
name
- имя атрибута сущности. -
view
- для ссылочного атрибута указывает имя представления, с которым должна загружаться ассоциированная сущность. Порядок следования описателей в файле при этом не важен. -
lazy
- для ссылочных атрибутов признак того, что данный атрибут нужно не включать в Fetch Plan, а загружать отдельным SQL запросом, инициированным обращением к атрибуту. Необязательный атрибут, по умолчаниюfalse
.Рекомендуется использовать
lazy
для атрибутов-коллекций, если таких атрибутов больше одного для данного графа представлений. Т.е. устанавливайтеlazy = "true"
для всех коллекций, кроме одной.
Элементы
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="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>
См. также свойство приложения cuba.viewsConfig