有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Hibernate中的java执行过程

我有一个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

你怎么办


共 (2) 个答案

  1. # 1 楼答案

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

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

    试试这个例子

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