我可以用hibernate调用存储过程吗?

我可以用hibernate调用存储过程吗?,hibernate,stored-procedures,Hibernate,Stored Procedures,我对hibernate有点陌生,不知道如何使用hibernate调用存储过程。 我有以下关于存储过程的详细信息 Env : xxx DB : xxx Database : xxxxx Stored Proc : spCwebCloneSite Input : SiteId int (existing site id) NewSiteId int (new site id) 现在我有了现有的和新的站点id。但是我不知道如何使用Hibernate映射它。我解决了它。Query Query=ge

我对hibernate有点陌生,不知道如何使用hibernate调用存储过程。 我有以下关于存储过程的详细信息

Env : xxx
DB :  xxx
Database : xxxxx

Stored Proc : spCwebCloneSite
Input : SiteId int (existing site id)
NewSiteId int (new site id)

现在我有了现有的和新的站点id。但是我不知道如何使用Hibernate映射它。

我解决了它。Query Query=getSession().createSQLQuery(“exec spCwebCloneSite?,?”).addEntity(CwSite.class).setInteger(0,orignalsteId.intValue()).setInteger(1,clonesteId.intValue());返回query.executeUpdate()+“”;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.util.Iterator;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;



public class StoredProc {


    public static void main(String[] args) {

        Session session = null;

        CallableStatement callableStatement = null;
        ResultSet resultSet = null;

        try{

            SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
            session = sessionFactory.openSession();

            System.out.println("selecting records");

            callableStatement = session.connection().prepareCall("{call getRecords}");
            callableStatement.execute();

            resultSet = callableStatement.getResultSet();

            while(resultSet.next()){
                System.out.println(resultSet.getInt(1));
                System.out.println(resultSet.getString(2));
            }



            System.out.print("OK");

        }
        catch (Exception e) {
            e.printStackTrace();
        }
        finally{
            session.flush();
            session.close();
        }
    }
}