hibernate 调用 存储过程

首先建立存储过程:

我是oracle下建立第一个创建序列的存储过程。

CREATE OR REPLACE PROCEDURE "CREATE_SEQ"  (v_seqname in varchar2) as

begin

execute immediate 'create sequence '||v_seqname||' start with 1 increment by 1  minvalue 1 maxvalue 99999 nocache';

end create_seq;

在程序中调用:

由于用的是ssh的框架,所以一直想通过createSQLQuery的方法调用,结果老是报错,无奈只好:

  Connection conn =null;  CallableStatement call =null;

try{

Stringname="seq001";

   

    String sql ="{Call CREATE_SEQ(?)} ";

conn=this.getSession().connection();

call=conn.prepareCall(sql);

call.setString(1,name);

intcheck=call.executeUpdate();

  

  if(check>0){     System.out.println("成功。");

    }

}catch(Exceptione){

System.out.println("失败。");

}finally{

if(call!=null){

call.close();

}

if(conn!=null){

conn.close();

}

  }

其实这个是jdbc的思路,是hibernate的一个写法,如果有更好的方法,请告知,谢谢。

相关推荐