Hibernate调用存储过程的两种方式
1.本地sql查询方式
//1.获得session对象
Session session=HibernateSessionFactory.getSession();
//2.设置查询过程字符串
String procName="{Call hib7_test(?,?)}";
//3.创建本地查询对象传入过程查询字符串
SQLQuery sqlquery=session.createSQLQuery(procName);
sqlquery.setString(0, "admin");
sqlquery.setString(1, "admin");
//5.执行过程返回结果集合回结果集合
List list =sqlquery.list();
//6.关闭session对象
session.close();
HibernateSessionFactory.closeSession();
2.XML配置文件方式
<class>
...省略其它内容
</class>
<sql-query name="getUser" callable="true">
<return alias="user" class="com.test.User">
<return-property name="id" column="id" />
<return-property name="name" column="name" />
<return-property name="age" column="age" />
</return>
{call proc()}
</sql-query>
HIbernate的调用
`
Session ss= HibernateSessionFactory.getSession()
List li=ss.getNamedQuery("getUser").list();
ss.close();
3.jdbc方式,不再论述,因其方式与hibernate的关系,几乎没有,数据查询输出之后,还需要自己封装,这是非常痛苦的。