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

因系统需求,需要调用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);

    }

}
 );

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

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐