从JPA调用oracle函数 [英] Calling an oracle function from JPA

查看:155
本文介绍了从JPA调用oracle函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从JPA类中调用一个简单的函数,它根据一些计算返回一个数字并具有以下定义。

I am trying to call a simple function from a JPA class that returns a number based on some calculations and has the following definition.

'CREATE OR REPLACE FUNCTION CFB.FC_AMOUNT_CHECK(accountNumber IN VARCHAR2)
return NUMBER IS .....'

我试图通过以下方式从JPA调用此函数。

I am trying to call this function from JPA the following way.

StringBuilder sql = new StringBuilder("call CFB.FC_AMOUNT_CHECK(:accountNumber)");
Query query = em.createNativeQuery(sql.toString());
query.setParameter(1, '1234');
List<?> result = query.getResultList();

....

但是,当我执行这个类时,我总是得到以下异常:

However, when I execute this class, I get the below exception all the time:

java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1]

我似乎无法得到JPA如何找不到参数1。 ...在过去的4个小时里,我一直在打破这个问题。任何人都可以建议如何得到我想要的结果?

I cant seem to get how JPA cannot find parameter 1....I have been breaking my head with this for the last 4 hours. Can anyone please suggest how to get the result I want?

推荐答案

如果你想在JPA中调用一个函数选择查询然后按照以下链接,它的工作原理:

If you are looking to call a function in JPA select query then follow below link, it works:

http://www.eclipse.org/eclipselink/documentation/2.5/jpa/extensions/j_func.htm

这篇关于从JPA调用oracle函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆