У меня есть приложение Flex, которое использует блейз-серверы для подключения к бэкэнду Java.Используя удаленное взаимодействие, я вызываю API для выполнения оператора SELECT для таблицы (используя обычные классы JDBC) в базе данных Oracle.
Таблица имеет 2 столбца:
PRODUCT_CODE of type NVARCHAR2(32) and
DEMAND of type NUMBER(10, 0)
Мой Java API выглядит следующим образом:
public List<?> getQueryResult(String query) {
Connection conn = DriverManager.getConnection(connStr, userName, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
ArrayList<?> result = new ArrayList<?>();
while(rs.next()) {
Object[] itemArray = new Object[2];
itemArray[0] = rs.getObject(1);
itemArray[1] = rs.getObject(2);
result.add(itemArray);
}
return result;
}
В моей стороне Flex у меня есть обработчик для события результата этой удаленной операции:
private function onResult(e:ResultEvent) : void {
var result:ArrayCollection = (e.result as ArrayCollection);
}
Странно, значения соответствуют столбцу DEMANDавтоматически преобразуются в строку (я отладил, чтобы выяснить, что в бэкэнде это были BigDecimal)
Есть предложения?