因为每个设备都会采集的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();
时间: 2024-10-06 13:21:05