关于hibernate调用存储过程的问题
我之前是这么调用的
SQLQuery query = session.createSQLQuery("{call proc_stuInfo()}").addEntity(StuInfo.class);
List list =query.list();
可是这个是单表的,如果我查询的是多表的呢,应该怎么调用
------解决方案--------------------联合就行了么,怎么联合数据库,怎么联合映射文件和字段....
------解决方案--------------------CallableStatement cst = session.connection.prepareCall("{call sp_name(?,?,?)}");
------解决方案--------------------既然单表,用存储过程是不太夸张了。可以考虑把多表的操作都放在一个存储过程处理,并且是可以添加参数的存储过程。
------解决方案--------------------CallableStatement cs = null;
Session session = this.getSession();
try {
cs = SessionFactoryUtils.getDataSource(sessionFactory).getConnection().prepareCall("{ call exp_fl_intoFl(?,?) }");
cs.setString(1, ""); //参数
cs.setString(2, "");
//cs.registerOutParameter(3, oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
} catch (Exception e) {
e.printStackTrace();
}