กรุสำหรับ กันยายน, 2011
How to call a Oracle function from hibernate?
Posted by boysbee in hibernate framework, java, programming on 09/09/2011
Hibernate Session provides a doWork() method that gives you direct access to java.sql.Connection. You can then create and use java.sql.CallableStatement to execute your function:
not parameter
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
CallableStatement call = connection.prepareCall("{ call MYSCHEMA.MYFUNC() }");
call.execute();
}
});
with parameter and return result
session.doWork(new Work() {
public void 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();
int result = call.getInt(1); // propagate this back to enclosing class
}
});
reference : How to call a Oracle function from hibernate with return parameter?