Ja, je moet een statische methode aanroepen, maar binnen de statische methode kun je een instantie van de klasse maken en niet-statische methoden aanroepen:
create or replace java source named "com.test.Example" AS
public class Example {
public String getHelloWorld(
final String hello
) {
return hello + "world"
}
public static String getStaticHelloWorld(
final String hello;
){
final Example e = new Example();
return e.getHelloWorld( hello );
}
}
/
CREATE FUNCTION get_hello_world(i_string VARCHAR2) RETURN VARCHAR2 AS
LANGUAGE java name 'com.test.Example.getStaticHelloWorld(
java.lang.String
) return java.lang.String';