Java 如何在JPA EclipseLink中调用oracle函数
我无法在java应用程序中调用oracle函数。 我具有以下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
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(查询,参数);
我不明白为什么它不起作用。当你称它为“某物”时,它会起作用,而你不会与这里的人分享。因此,这里没有人会理解“为什么它不起作用”,因为他们没有信息。你也有日志。当你调用它时,它会做一些“事情”,而你不会与这里的人分享。因此,这里没有人会理解“为什么它不起作用”,因为他们没有信息。你也有日志。