Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate SQL语法异常_Java_Mysql_Spring_Hibernate - Fatal编程技术网

Java Hibernate SQL语法异常

Java Hibernate SQL语法异常,java,mysql,spring,hibernate,Java,Mysql,Spring,Hibernate,我已经为这样一个学生类创建了一个MySQL存储过程,我想在Hibernate中调用这个存储过程 存储过程: DELIMITER $$ DROP PROCEDURE IF EXISTS `StudentProcedure`$$ CREATE PROCEDURE `StudentProcedure`(IN studentNo varchar(12) ) BEGIN SELECT SNAME FROM Student WHERE SNO=studentNo; END$$ DELIMITER ;

我已经为这样一个学生类创建了一个MySQL存储过程,我想在Hibernate中调用这个存储过程

存储过程:

DELIMITER $$

DROP PROCEDURE IF EXISTS `StudentProcedure`$$

CREATE  PROCEDURE `StudentProcedure`(IN studentNo varchar(12) )
BEGIN
SELECT SNAME FROM Student WHERE SNO=studentNo;
END$$

DELIMITER ;
我的Pojo课程:

package edu.model;

public class Student {
    private String studentNo;
    private String studentName;
    public String getStudentNo() {
        return studentNo;
    }
    public void setStudentNo(String studentNo) {
        this.studentNo = studentNo;
    }
    public String getStudentName() {
        return studentName;
    }
    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }
}
HBM文件:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="edu.model.Student" table="Student">
        <id name="studentNo" column="SNO">
        <generator class="assigned"/>           
        </id>
        <property name="studentName">
            <column name="SNAME" />
        </property>
    </class>
    <sql-query name="StudentProcedure" callable="true">
    <return alias="student" class="edu.model.Student">
    <return-property name="studentName" column="SNAME">
    </return-property>
    </return>
    <![CDATA[CALL StudentProcedure(:studentNo)]]>   
    </sql-query>
</hibernate-mapping>
当我运行我的类时,我面临以下异常:

SEVERE: Column 'SNO0_0_' not found.
Hibernate Exception>>>org.hibernate.exception.SQLGrammarException..........+could not execute query
有人能帮我吗 谢谢

您还需要为SNO定义return属性

<return-property name="studentNo" column="SNO">
</return-property>

<return-property name="studentNo" column="SNO">
</return-property>