How to call an Oracle function from Hibernate with a return parameter?

后端 未结 5 1622
你的背包
你的背包 2020-11-29 05:47

My question is very much like Getting the return value of a PL/SQL function via Hibernate

I have a function which does some modifications internally and it returns a

5条回答
  •  醉话见心
    2020-11-29 05:50

    Alternative code :)

    if you want to direct result you can use below code

     int result = session.doReturningWork(new ReturningWork() {
      @Override
       public Integer  execute(Connection connection) throws SQLException {
        CallableStatement call = connection.prepareCall("{ ? = call MYSCHEMA.MYFUNC(?,?) }");
        call.registerOutParameter( 1, Types.INTEGER ); // or whatever it is
        call.setLong(2, id);
        call.setLong(3, transId);
        call.execute();
        return call.getInt(1); // propagate this back to enclosing class
      }
    });
    

    http://keyurj.blogspot.com.tr/2012/12/dowork-in-hibernate.html

提交回复
热议问题