oracle中的存储过程如下:
create or replace procedure getStuList(
v_cursor out sys_refcursor
) as
begin
open v_cursor for
select * from student;
end;
/
创建成功后,JAVA中的调用为
Student.hbm.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>    
    <class name="com.instance.Student" table="Student">        
        <id name="student_id" column="student_id" type="java.lang.Integer">            
            <generator class="native">        
                <param name="sequence">student_sequence</param>
            </generator>
        </id>        
        <property name="student_name" column="student_name" type="java.lang.String"/>
        <property name="student_age" column="student_age" type="java.lang.Integer"/>
    </class>
    <sql-query name="getStuList" callable="true"> 
     <return alias="stu" class="com.instance.Student">
    <return-property name="student_id" column="student_id"/>
    <return-property name="student_name" column="student_name"/>
    <return-property name="student_age" column="student_age" />
   </return>
     { ?=call getStuList() }
    </sql-query>
</hibernate-mapping>Student.java:public class Student {
private int student_id;
private String student_name;
private int student_age; public int getStudent_id() {
return student_id;
} public void setStudent_id(int student_id) {
this.student_id = student_id;
} public String getStudent_name() {
return student_name;
} public void setStudent_name(String student_name) {
this.student_name = student_name;
} public int getStudent_age() {
return student_age;
} public void setStudent_age(int student_age) {
this.student_age = student_age;
}}main中的调用:
try { Session session = HibernateSessionFactory.getSession();
Query qw = session.getNamedQuery("getStuList");
List list = qw.list();
Iterator it = list.iterator();
while(it.hasNext())
{
Student stu = (Student)it.next();
System.out.println(stu.getStudent_name()+","+stu.getStudent_age());
}
session.close();
} catch (Exception e) {
System.out.println(e.getMessage());

}
总是报出could not execute query这个错误,求大大给看看问题出在哪里?我在网上也找了很多别人的例子搬过来用
也是报这个错哦!解决立马给分,谢谢啦!