在Hibernate中执行过程

时间:2014-07-30 07:32:05

标签: java oracle hibernate

我有一个名为Save的程序的Orcale DB。这就是我运行它的方式:

 > EXECUTE DBManager.Save;

现在我想用Hibernate做同样的事情。

public void save() {
        Session session = null;
        session = this.sessionFactory.getCurrentSession();
        Query query = session.createSQLQuery("EXECUTE DBManager.Save;");
        int updated = query.executeUpdate();

    }

此代码不起作用。

WARN : org.hibernate.util.JDBCExceptionReporter - SQL Error: 900, SQLState: 42000

做什么?

2 个答案:

答案 0 :(得分:2)

试试这个例子

Query query = session.createSQLQuery(
    "CALL GetStocks(:stockCode)")
    .addEntity(Stock.class)
    .setParameter("stockCode", "7277");

答案 1 :(得分:1)

对于Oracle,您可以使用

之类的代码
CallableStatement cs = null;
cs = this.con.prepareCall("{call DBManager.Save}");
ResultSet rs = cs.executeQuery();