NdbOpenJPADomainTypeHandlerImpl<?> domainTypeHandler,
List<NdbOpenJPADomainFieldHandlerImpl> fieldHandlers) {
com.mysql.clusterj.core.store.Table storeTable = domainTypeHandler.getStoreTable();
session.startAutoTransaction();
try {
Operation op = session.getSelectOperation(storeTable);
int[] keyFields = domainTypeHandler.getKeyFieldNumbers();
BitSet fieldsInResult = new BitSet();
for (int i : keyFields) {
fieldsInResult.set(i);
}
ValueHandler handler = domainTypeHandler.getValueHandler(sm, this);
domainTypeHandler.operationSetKeys(handler, op);
// include the key columns in the results
domainTypeHandler.operationGetKeys(op);
for (NdbOpenJPADomainFieldHandlerImpl fieldHandler : fieldHandlers) {
fieldHandler.operationGetValue(op);
fieldsInResult.set(fieldHandler.getFieldNumber());
}
ResultData resultData = op.resultData();
NdbOpenJPAResult result = new NdbOpenJPAResult(resultData, domainTypeHandler, fieldsInResult);
session.endAutoTransaction();
return result;
} catch (RuntimeException ex) {
session.failAutoTransaction();