首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

java.lang.NullPointerException 为啥会抛出来呀

2011-12-19 
java.lang.NullPointerException 为什么会抛出来呀?//表major的映射文件hibernate-mappingclassname

java.lang.NullPointerException 为什么会抛出来呀?
//表major的映射文件
<hibernate-mapping>
        <class   name= "com.crownsoft.qsm.bean.Major "   table= "major ">
                <id   name= "id "   type= "java.lang.String ">
                        <column   name= "id "   length= "2 "   />
                        <generator   class= "increment "   />
                </id>
                <property   name= "name "   type= "java.lang.String ">
                        <column   name= "name "   length= "20 "   not-null= "true "   />
                </property>
                <property   name= "shortname "   type= "java.lang.String ">
                        <column   name= "shortname "   length= "10 "   not-null= "true "   />
                </property>
                <property   name= "department "   type= "java.lang.String ">
                        <column   name= "department "   length= "4 "   not-null= "true "   />
                </property>
                <set   name= "classes "   inverse= "true "   cascade= "all ">
                        <key>
                                <column   name= "majorid "   length= "2 "   not-null= "true "   />
                        </key>
                        <one-to-many   class= "com.crownsoft.qsm.bean.Classes "   />
                </set>
        </class>
</hibernate-mapping>
//表classes的映射文件
<hibernate-mapping>
        <class   name= "com.crownsoft.qsm.bean.Classes "   table= "classes ">
                <id   name= "id "   type= "java.lang.Integer ">
                        <column   name= "id "   />
                        <generator   class= "increment "   />
                </id>


                <many-to-one   name= "major "   class= "com.crownsoft.qsm.bean.Major "   fetch= "select ">
                        <column   name= "majorid "   length= "2 "   not-null= "true "   />
                </many-to-one>
                <property   name= "name "   type= "java.lang.String ">
                        <column   name= "name "   length= "10 "   not-null= "true "   />
                </property>
        </class>
</hibernate-mapping>
public   class   ClassesDAO{
        private   Session   session;
        Logger   logger=null;
        public   ClassesDAO(){
                logger=Logger.getLogger( "Logger ");                
                session=HibernateSessionFactory.getSession();
        }
        public   List   queryByGrade(String   grade){
                String   hql   =   "FROM   Classes   AS   c "   ;
                Query   q   =   this.session.createQuery(hql);/*总是提示这行有错误,应该不是这行的错误吧*/
                List   l=q.list();
                return   l;
        }
}

public   class   Classes   implements   java.io.Serializable{
        private   static   final   long   serialVersionUID=7229495886607502729L;
        private   Integer   id;
        private   Major   major;
        private   String   name;
        //   Constructors
        /**   default   constructor   */
        public   Classes(){
        }
        /**   full   constructor   */
        public   Classes(Major   major,String   name){
                this.major=major;
                this.name=name;
        }
        //   Property   accessors
        public   Integer   getId(){
                return   this.id;
        }
        public   void   setId(Integer   id){
                this.id=id;
        }
        public   Major   getMajor(){
                return   this.major;


        }
        public   void   setMajor(Major   major){
                this.major=major;
        }
        public   String   getName(){
                return   this.name;
        }
        public   void   setName(String   name){
                this.name=name;
        }
}

public   class   Major   implements   java.io.Serializable{
        private   static   final   long   serialVersionUID=-2271259265443970314L;
        private   String   id;
        private   String   name;
        private   String   shortname;
        private   String   department;
        private   Set   classes=new   HashSet();
        public   Major(String   name,String   shortname,String   department){
                this.name=name;
                this.shortname=shortname;
                this.department=department;
        }
        public   Major(String   name,String   shortname,String   department,Set   classes){
                this.name=name;
                this.shortname=shortname;
                this.department=department;
                this.classes=classes;
        }
        public   String   getId(){
                return   this.id;
        }
        public   void   setId(String   id){
                this.id=id;
        }
        public   String   getName(){
                return   this.name;
        }
        public   void   setName(String   name){
                this.name=name;
        }
        public   String   getShortname(){
                return   this.shortname;
        }
        public   void   setShortname(String   shortname){
                this.shortname=shortname;
        }
        public   String   getDepartment(){
                return   this.department;
        }
        public   void   setDepartment(String   department){
                this.department=department;


        }
        public   Set   getClasses(){
                return   this.classes;
        }
        public   void   setClasses(Set   classes){
                this.classes=classes;
        }
}

exception  

java.lang.NullPointerException
com.crownsoft.qsm.dao.ClassesDAO.queryByGrade(ClassesDAO.java:34)
com.crownsoft.qsm.servlet.RegisterServlet.doPost(RegisterServlet.java:29)
com.crownsoft.qsm.servlet.RegisterServlet.doGet(RegisterServlet.java:19)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.crownsoft.qsm.filter.CharSetFilter.doFilter(CharSetFilter.java:21)


[解决办法]
this.session
-----

应该这个有问题吧。
[解决办法]
this.session有给赋值吗?应该是为null了

热点排行