我的要求是我需要在不使用 NATIVE 查询的情况下从 Spring Boot 应用程序调用 oracle 函数。
下面是我的 oracle 函数,它以 Date 作为输入
create or replace FUNCTION todate(src_dt IN date)
RETURN date
is
BEGIN
RETURN(to_date(src_dt));
END;
我在互联网上搜索解决方案,但到目前为止还没有找到。人们说一些自定义方言需要创建但没有找到任何完美的逐步链接。
下面是我的java代码: -
Query query1 = entityManager.createQuery("select todate(ActSubT.createdDt) from ActSubT ActSubT");
List<Object> result=query1.getResultList();
这段代码应该运行,截至目前它给出的错误是 todate 是 oracle 函数,我没有在 application.yml 文件中配置任何东西。
我得到以下错误
java.lang.IllegalArgumentException: org.hibernate.QueryException:
No data type for node:
org.hibernate.hql.internal.ast.tree.MethodNode
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'todate' {originalText=todate}
请帮忙