Java 在Hibernate中执行过程

Java 在Hibernate中执行过程,java,oracle,hibernate,Java,Oracle,Hibernate,我有一个Orcale数据库,其中有一个过程叫做Save。我就是这样运行的: > EXECUTE DBManager.Save; 现在我想用Hibernate做同样的事情 public void save() { Session session = null; session = this.sessionFactory.getCurrentSession(); Query query = session.createSQLQuery("EX

我有一个Orcale数据库,其中有一个过程叫做
Save
。我就是这样运行的:

 > 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

做什么?

对于Oracle,您可以使用以下代码

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

对于Oracle,您可以使用如下代码

CallableStatement cs = null;
cs = this.con.prepareCall("{call DBManager.Save}");
ResultSet rs = cs.executeQuery();
试试这个例子

Query query = session.createSQLQuery( "CALL GetStocks(:stockCode)") .addEntity(Stock.class) .setParameter("stockCode", "7277"); Query Query=session.createSQLQuery( “调用GetStocks(:stockCode)”) .附录(库存类别) .setParameter(“股票代码”、“7277”) 试试这个例子

Query query = session.createSQLQuery( "CALL GetStocks(:stockCode)") .addEntity(Stock.class) .setParameter("stockCode", "7277"); Query Query=session.createSQLQuery( “调用GetStocks(:stockCode)”) .附录(库存类别)
.setParameter(“股票代码”、“7277”);可能的重复可能的重复什么是con?协作声明是什么包?java.sql?
con
是您的数据库连接。至于
CallableStatement
see,您可以看到,我使用的是sessionFactory。您能修改您的回答吗?另外,我的查询是执行,但不是调用。根据您的代码
session=this.sessionFactory.getCurrentSession()然后
session.connection().prepareCall…
什么是con?协作声明是什么包?java.sql?
con
是您的数据库连接。至于
CallableStatement
see,您可以看到,我使用的是sessionFactory。您能修改您的回答吗?另外,我的查询是执行,但不是调用。根据您的代码
session=this.sessionFactory.getCurrentSession()然后
session.connection().prepareCall…