首页 > 代码库 > Hibernate调用Oracle存储过程

Hibernate调用Oracle存储过程

       因为每个设备都会采集的GPS数据,于是决定分表实现。最初想到的是用JDBC来实现,但是总会有意想不到的事情发生,很是郁闷(如摘要所言的问题)。所以思前想后还是把这种SQL操作的事情让存储过程来干吧。

      使用Hibernate实现存储过程调用有两种方式:

1、JDBC Call:

Session session =HibernateSessionFactory.getSession();   
Connection conn = session.connection();   
ResultSet rs =null;  
CallableStatement call = conn.prepareCall("{Call proc(?)}");  
call.setString(1, 参数);     
rs = call.executeQuery();  
rs.close();  
session.close();

2、Hibernate SQLQuery:

Session session =HibernateSessionFactory.getSession();   
SQLQuery query = session.createSQLQuery("{Call Tj(?)}"); //这里调用存储过程
query.setString(0,"ddd");
List list =query.list();  
session.close();


Hibernate调用Oracle存储过程