У меня проблема, с которой я раньше не сталкивался: в базе данных есть сохраненная функция: CC_PROC, которая принимает две записи даты и возвращает таблицу.Другими словами, чтобы вызвать его, вы набираете:
SELECT * FROM (TABLE( CC_PROC( DATE '2012-01-01', DATE '2012-01-15')));
Это, кажется, прекрасно работает в SQLPlus и NetBeans, и вышеприведенная строка, по-видимому, уже используется некоторое время.
В любом случае, при вызове его из Java с использованием подготовленного оператора, я получаю: "CC_PROC": неверный идентификатор при вызове executeQuery.
Это с:
PreparedStatement preparedStatement =
connection.prepareStatement("SELECT * FROM (TABLE ( CC_PROC( ? , ? )))");
preparedStatement.setDate(1,firstDate);
preparedStatement.setDate(2,secondDate);
resultSet = preparedStatement.executeQuery();
Я чувствую, что, может быть, это очевидно, и мой ограниченный опыт использования JDBC напрямую вместо Hibernate меня бросает.Я хотел бы не перекодировать содержимое CC_PROC в бизнес-логике Java.Есть идеи?
Спасибо!