我可以用hibernate调用存储过程吗?
我对hibernate有点陌生,不知道如何使用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
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();
}
}
}