首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

关于hibernate调用存储过程的有关问题

2013-08-13 
关于hibernate调用存储过程的问题我之前是这么调用的SQLQuery query session.createSQLQuery({call proc

关于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();
}

热点排行