欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JPA如何调用oracle数据库中的存储函数?

程序员文章站 2022-04-12 22:01:23
因系统需求,需要调用oracle数据库中的存储函数,在网上找了许多篇文章都没有满足我的条件, 返回值和OUT值同时能获取到,JPA的API中貌似没有,反正我是没找到,后来同事找的一...

因系统需求,需要调用oracle数据库中的存储函数,在网上找了许多篇文章都没有满足我的条件, 返回值和OUT值同时能获取到,JPA的API中貌似没有,反正我是没找到,后来同事找的一个网页 上找到了解决方法,就是通过JPA来调用JDBC的API来实现这个功能,下面就是代码:

Session
 session = entityManager.unwrap( Session.class);

 

Integer
 commentCount = session.doReturningWork( 

    connection
 -> {

    try(CallableStatement
 function = connection

        .prepareCall(

            "{
 ? = call fn_count_comments(?) }" 
)) {

        function.registerOutParameter(1,
 Types.INTEGER );

        function.setInt(2,1);

        function.execute();

        returnfunction.getInt(1);

    }

}
 );

原文中也写了,如何调用存储过程和函数,需要的可以参考。