Запрос должен возвращать сущности того типа, который указан при создании источника данных. Тип сущности при декларативном
создании указывается в атрибуте class
элемента XML, при создании через DsBuilder
- в методе setJavaClass()
или setMetaClass()
.
Кроме того, тип объекта в предложении from
запроса должен соответствовать типу источника. Это необходимо для проведения автоматических трансформаций запроса при наложении
ограничений безопасности и др.
Например, запрос источника данных типа Customer
может выглядеть следующим образом:
select c from sales$Customer c
Примеры недопустимых для источника типа Customer
запросов:
select c.id, c.name from sales$Customer c /* неверно - возвращает отдельные поля, а не весь объект Customer */ select o.customer from sales$Order o /* неверно - тип from (Order) отличается от типа результата (Customer) */