日期:2014-05-17  浏览次数:20605 次

请教下:级联保存NullPointerException错误
级联保存的时候
出现java.lang.NullPointerException
selectCourse.setStudentInfo(studentInfo);//从此处开始出错
也就是说根本没保存进去,
System.out.println("学号:" + getSelectSnu() + "教师编号:"
+ getSelectTearcher() + "课程编号:" + getSelect1Course());
这个几个的值已经全部获得了的。
POJO:
Java code

public class SelectCourse implements java.io.Serializable {

    // Fields

    private String snu;
    private TearcherInfo tearcherInfo;
    private StudentInfo studentInfo;
    private CouresInfo couresInfo;
    private String ctime;
    private Integer cgrade;
/*get、set方法省略*/



Action:
Java code

public String addSelectCourse() throws Exception {
        TearcherInfo tearcherInfo = new TearcherInfo();
        StudentInfo studentInfo = new StudentInfo();
        CouresInfo couresInfo = new CouresInfo();
        System.out.println("学号:" + getSelectSnu() + "教师编号:"
                + getSelectTearcher() + "课程编号:" + getSelect1Course());
        tearcherInfo.setTnu(getSelectTearcher());
        studentInfo.setSnu(getSelectSnu());
        couresInfo.setCnu(getSelect1Course());
        selectCourse.setStudentInfo(studentInfo);//从此处开始出错!java.lang.NullPointerException
        selectCourse.setCouresInfo(couresInfo);
        selectCourse.setTearcherInfo(tearcherInfo);
        selectCourse.setCgrade(getCgrade());
        selectCourse.setCtime(getCtime());
        try {
            adm.saveSelectCourse(selectCourse);

        } catch (Exception e) {
            return "input";
        }
        return "success";
    }



配置文件:
XML code

<hibernate-mapping>
    <class name="com.yaxing.domain.SelectCourse" table="SelectCourse" schema="dbo" catalog="Student">
        <id name="snu" type="java.lang.String">
            <column name="Snu" length="16" />
            <generator class="assigned" />
        </id>
        <many-to-one name="tearcherInfo" class="com.yaxing.domain.TearcherInfo" fetch="select">
            <column name="Tnu" length="10" not-null="true" />
        </many-to-one>
        <many-to-one name="studentInfo" class="com.yaxing.domain.StudentInfo" update="false" insert="false" fetch="select">
            <column name="Snu" length="16" not-null="true" unique="true" />
        </many-to-one>
        <many-to-one name="couresInfo" class="com.yaxing.domain.CouresInfo" fetch="select">
            <column name="Cnu" length="10" not-null="true" />
        </many-to-one>
        <property name="ctime" type="java.lang.String">
            <column name="Ctime" length="10" />
        </property>
        <property name="cgrade" type="java.lang.Integer">
            <column name="Cgrade" />
        </property>
    </class>
</hibernate-mapping>


DAO:
Java code

                    香港云服务器 免备案 云主机VPS 国内 独立IP 独享15M 月付SSD