小弟 创建了个存储过程,用来返回是否有新通知(包括新留言,新短信..涉及到好多表),但是在 java 里面用 Hibernate 调用就不会调了,
在网上查了下,都是得在某个VO类的.hbm 内配置存贮过程的,我这个存储过程涉及到多张表,不是那种一个类下的,该怎么去用Hibernate调用啊?
急啊
谢谢`
在后台直接调用:
tx = session.beginTransaction();
Connection con=session.connection();
//procName 是存储过程的名称,后面也可以跟参数,也可以不跟参数
String procedure = "{call procName (?) }";
CallableStatement cstmt = con.prepareCall(procedure);
cstmt.setInt(1,0); //设置参数
cstmt.executeUpdate();
tx.commit();
<!--调用存储过程就在这里配 -->
{ call SP_get_UserInfo() }
调用存储过程的Java代码:
Session querySession = HibernateSessionFactory.getSession();
querySession.clear();
List lst = uerySession.getNamedQuery("getUser").list();
for(int i=0;i<lst.size();i++)
{
usr=(User)lst.get(i);
System.out
.println(usr.getId() + " " + usr.getName() + " "
+ usr.getSex() + " " + usr.getBorn() + " "
+ usr.getAddress());
}
HibernateSessionFactory.closeSession();
你重新搞一个类,把涉及到的字段做成属性
看看文章