Тип объекта PL SQL в java

Я хотел бы передать передачу типа объекта plsql Java. Java получит этот объект, и после модификации я хочу вернуть тот же объект plsql. Основная программа будет вызывать из plsql в Java, а ожидаемый результат возврата из Java - в тот же объект в plsql. Могу я узнать, есть ли способ? Ниже приведен код, который я пробую. Может ли тип объекта plsql напрямую указывать на метод / функцию java как параметр in и out? Я попытался передать тип объекта plsql с помощью Struct, он может скомпилировать программу. Однако я не знаю, как Java может принять этот объект и преобразовать его в объект Java.

Что-то вроде примера ниже. Большое тебе спасибо

Тип объекта PL / SQL

CREATE OR REPLACE TYPE Address AS OBJECT
( street VARCHAR2(30),
   city VARCHAR2(20)
);

Пакет PL / SQL вызывает Java-программу

create or replace package body TYPE_ADD_TEST is
FUNCTION Test_ADD(in_address IN address
                ) RETURN address IS
LANGUAGE JAVA
NAME 'TestPrg.TestAddress(java.sql.Struct
                   ) return java.sql.Struct';
end TYPE_ADD_TEST;

Код Java

create or replace and compile java source named testprg as
import java.util.*;
import java.io.*;
import java.sql.*;

public class TestPrg{

    public static String TestAddress(Struct TestAddress) {

        Address testAdd = (Address) TestAddress; 
        // Address testAdd = new Address("s","c"); 
        return testAdd.street;
    }

}

Класс объекта Java

create or replace and compile java source named address as
import java.util.*;
import java.io.*;

public class Address {

    public String street ;
    public String city;  
    public Address() {}
    public Address(String a, String  b) {
        street = "java street";
        city = "java city";
    }
}

Большое тебе спасибо

Вы хотите прочитать это: stefan-armbruster.com/images/downloads/IT/e10588.pdf - на странице 15 он обсуждает, как создавать классы Java, которыми можно обмениваться с Oracle (расширять SQLData), или как просто использовать Struct: Структуры имеют метод getAttributes (), который возвращает массив значений атрибутов.

moilejter 09.11.2018 05:35

Большое спасибо за информацию. Я изменил свой код Java и класс объекта Java. Метод getAttributes () может получить значение объекта plsql в методе java. все еще изо всех сил пытается передать обратно тип объекта java напрямую в качестве выходного параметра в plsql.

barbe cuee 14.11.2018 04:15
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
704
0

Другие вопросы по теме