Package com.smartgwt.client.docs
Interface HbBeans
public interface HbBeans
Beans and the DSRequest / DSResponse
This section relates to JPA and Hibernate datasources and describes how submitted data is used and what to expect inDSResponse if Smartclient is integrated with Hibernate using "Pre-existing beans" approach (see HibernateIntegration for details). Note that "beanless" integration mode is completely omitted here, since in that case data is represented by Maps instead of Beans.
Data sent in DSRequest
In case of add or update operationsDSRequest data is used to populate associated Bean: - add - new
Beanis created and filled with submitted data - update - existing
Beanis retrieved and then submitted data is set overwriting existing values
DataSource.setProperties(...) server-side API, which performs automatic conversions of any types that can reasonably be auto-converted, supports inner beans and recursive data structures, see server-side javadocs for details.
Data returned in DSResponse
In case of getting access to DSResponse (for example, by manually executing DSRequest in a DMI), DSResponse data can be accessed by callingDSResponse.getData() server-side API. See what data will be returned depending on operation type and other circumstances:
| Operation type | DSResponse data |
| Fetch | Generally fetch operation will return List of Beans or empty List if no records were found. However some features, if used, do break this rule:
|
| Add | Add operation will return created Bean. |
| Update | If multiple records update is allowed (see OperationBinding.allowMultiUpdate and MultiUpdatePolicy}), then update operation will return List of Beans, or empty List if no records were actually updated. If multiple records update is not allowed, then update operation will return updated Bean, or null if record was not updated (for example, in case if it does not exist). |
| Remove | If multiple records update is allowed, then remove operation will always return null. If multi records update is not allowed, then remove operation will return a Map holding field/value pairs for Primary Key fields of the record requested to be removed, no matter if the record was actually removed. Consult DSResponse.getAffectedRows() server-side API to see if the record was removed, or how many records were removed in case of multiple records removal. |