Java 在Hibernate中执行过程
我有一个Orcale数据库,其中有一个过程叫做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
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…