方法一:
List<?> list = new ArrayList<HibernateProcedureObject>();
try {
session = getCurrentSession(entityClass);
SQLQuery query = session.createSQLQuery(procedure);
query.setString(0, requestId);
list = query.list();
} catch (HibernateException e) {
e.printStackTrace();
logger.log(RMTManagementLevel.ERROR, e);
} finally {
this.closeConnection();
}
return list;
SQLQuery query=this.getSession().createSQLQuery("{call procName(?,?,?)}");
query.setString(0,x);
query.setString(1,xxx);
query.setString(2,xxxx);
List list = query.list();
方法二:
Session session =HibernateSessionFactory.getSession();
Connection conn = session.connection();
ResultSet rs =null;
CallableStatement call = conn.prepareCall("{Call proc()}");
rs = call.executeQuery();
rs.close();
session.close();
List<?> list = new ArrayList<HibernateProcedureObject>();
try {
session = getCurrentSession(entityClass);
SQLQuery query = session.createSQLQuery(procedure);
query.setString(0, requestId);
list = query.list();
} catch (HibernateException e) {
e.printStackTrace();
logger.log(RMTManagementLevel.ERROR, e);
} finally {
this.closeConnection();
}
return list;
SQLQuery query=this.getSession().createSQLQuery("{call procName(?,?,?)}");
query.setString(0,x);
query.setString(1,xxx);
query.setString(2,xxxx);
List list = query.list();
方法二:
Session session =HibernateSessionFactory.getSession();
Connection conn = session.connection();
ResultSet rs =null;
CallableStatement call = conn.prepareCall("{Call proc()}");
rs = call.executeQuery();
rs.close();
session.close();
本文介绍了两种使用Java通过Hibernate框架调用数据库存储过程的方法。第一种方法利用Hibernate的SQLQuery对象,第二种方法则直接通过获取数据库连接执行CallableStatement。这两种方式都能有效实现存储过程的调用。
1万+

被折叠的 条评论
为什么被折叠?



