【发布时间】:2010-05-14 05:34:15
【问题描述】:
谁能帮助我在 Spring 框架中使用 HibernateTemplate 调用存储过程?我是 Hibernate 的新手,所以请帮帮我。
提前致谢,
西努马修斯
【问题讨论】:
标签: java hibernate spring stored-procedures
谁能帮助我在 Spring 框架中使用 HibernateTemplate 调用存储过程?我是 Hibernate 的新手,所以请帮帮我。
提前致谢,
西努马修斯
【问题讨论】:
标签: java hibernate spring stored-procedures
在 Hibernate 中,存储过程只是named queries 的一个特例,您可以使用findByNamedQuery() 方法之一使用HibernateTemplate 执行命名查询。
【讨论】:
您不能使用 HibernateTemplate 调用您的过程,使用 SessionFactory 的 getCurrentSession() 方法或使用 HibernateTemplate 的 getSession。
如果您的过程不返回游标或函数,您可以使用 findByNameQuery() 方法,但如果您的过程返回一些游标或函数,该方法将不起作用。
如果发生这种情况,您必须从会话中获取 Connection
java.sql.Connection con = getSession().connection;<br>
CallableStatement statement = con.prepareCall(<your procedure>);<br>
//some setting parameter for your procedure<br>
statement.execute();
【讨论】: