Может ли хранимая процедура Oracle вернуть объект, пригодный для использования в Java? - PullRequest
1 голос
/ 13 ноября 2010

Я работаю с разработчиком PL / SQL над проектом. Другой разработчик пишет хранимые процедуры, которые мне нужно вызвать.

Одна из хранимых процедур должна вернуть все о продукте:

название, цена, описание, цвет, вес, производитель и т. д. - (15 всего информации)

Я предполагал, что хранимая процедура примет один параметр IN, идентификатор продукта и вернет 15 параметров OUT.

Есть ли способ, которым хранимая процедура может вернуть объект, который я могу привести к пользовательскому типу данных? Это типичная техника, или вы обычно возвращаете несколько параметров OUT?

Ответы [ 3 ]

3 голосов
/ 13 ноября 2010

Я бы предпочел, чтобы процедура (или, если она просто извлекала информацию о продукте, функция) возвращала объект продукта PL / SQL, который код Java извлекает либо как java.sql.STRUCT, либо как более строго типизированный. объект.

Oracle имеет пример кода для обоих подходов на своем веб-сайте. Вот пример подхода java.sql.STRUCT . И вот строго типизированный объектный подход . Строго типизированный пример использует JPublisher для создания строго типизированных классов объектов, но Руководство разработчика JDBC поможет вам создать собственные сопоставления.

0 голосов
/ 13 ноября 2010

Hiberante предоставляет способ для сопоставления результата запроса SQL или хранимой процедуры с объектом Java.Это сложное решение объектно-реляционного отображения, но в большинстве случаев оно того стоит.

0 голосов
/ 13 ноября 2010

SQL-запросы никак не могут вернуть объект вам нужно просто вернуть результат оператора select, а затем создать объект самостоятельно с таким результатом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...