Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JPA EclipseLink中调用oracle函数_Java_Jpa_Eclipselink - Fatal编程技术网

Java 如何在JPA EclipseLink中调用oracle函数

Java 如何在JPA EclipseLink中调用oracle函数,java,jpa,eclipselink,Java,Jpa,Eclipselink,我无法在java应用程序中调用oracle函数。 我具有以下oracle功能: FUNCTION GetClientAcc( client_id in integer, call_date in date default null ) RETURN ACC_TBL; TYPE ACC_TBL IS REF CURSOR RETURN ACC_REC; TYPE ACC_REC IS RECORD ( client_id NUMBER, acc_id

我无法在java应用程序中调用oracle函数。 我具有以下oracle功能:

FUNCTION GetClientAcc(
  client_id in integer,
  call_date in date default null
) RETURN ACC_TBL;

TYPE ACC_TBL IS REF CURSOR RETURN ACC_REC;

TYPE ACC_REC IS RECORD (
 client_id      NUMBER,   
 acc_id         NUMBER,
 acc_num        VARCHAR2(25),     
 order_data     CLOB
);
我尝试在java应用程序中调用它:

 StoredFunctionCall functionCall = new StoredFunctionCall();
    functionCall.setProcedureName("GetClientAcc");
    functionCall.addNamedArgument("client_id");
    functionCall.addNamedArgument("call_date");
    functionCall.setResult("ACC_TBL");

    ReadAllQuery query = new ReadAllQuery();
    query.setReferenceClass(AccountInfo.class);
    query.setCall(functionCall);
    query.addArgument("client_id");
    query.addArgument("call_date");
    List<Object> args= new ArrayList<>();
    args.add(10);
    args.add(new Date());
    JpaEntityManager jpaEntityManager = JpaHelper.getEntityManager(emNt);
    Session session = jpaEntityManager.getActiveSession();
    List<AccountInfo> result =                   (List<AccountInfo>)session.executeQuery(query, args);
StoredFunctionCall functionCall=newstoredfunctioncall();
setProcedureName(“GetClientAcc”);
functionCall.addNamedArgument(“客户id”);
functionCall.addNamedArgument(“调用日期”);
functionCall.setResult(“ACC_TBL”);
ReadAllQuery=新建ReadAllQuery();
setReferenceClass(AccountInfo.class);
query.setCall(functionCall);
query.addArgument(“客户id”);
query.addArgument(“调用日期”);
List args=new ArrayList();
增加(10);
args.add(新日期());
JpaEntityManager=JpaHelper.getEntityManager(emNt);
Session Session=jpaEntityManager.getActiveSession();
List result=(List)session.executeQuery(查询,参数);
我不明白为什么它不起作用。

当你称它为“某物”时,它会起作用,而你不会与这里的人分享。因此,这里没有人会理解“为什么它不起作用”,因为他们没有信息。你也有日志。当你调用它时,它会做一些“事情”,而你不会与这里的人分享。因此,这里没有人会理解“为什么它不起作用”,因为他们没有信息。你也有日志。