JavaServer Faces Study

          JSF的一些學習經驗與大寫分享

          統計

          留言簿(1)

          閱讀排行榜

          評論排行榜

          Hibernate查詢,無數據正常,有數據出現java.lang.NullPointerException 異常

          現象
            在使用JSF+Spring+Hibernate時,執行多對一查詢時,出現異常!代碼如下:

            Hibernate影射文件:
           
          <hibernate-mapping>
              
          <class name="com.jsfStudy.db.bo.TbPackinginfo" table="tb_packinginfo" catalog="danzhen">
                  
          <id name="piIdN" type="integer">
                      
          <column name="pi_id_N" />
                      
          <generator class="native" />
                  
          </id>
                  
          <many-to-one name="tbMakemxd"
                      
          class="com.jsfStudy.db.bo.TbMakemxd" fetch="select">
                      
          <column name="pi_mxdId_N" />
                  
          </many-to-one>
                  
          <property name="piTaskIdC" type="string">
                      
          <column name="pi_taskId_C" length="10" unique="true"></column>
                  
          </property>

                     ...

                 </class>
          </hibernate-mapping>

            java文件:
              public TbPackinginfo findByMxdNo(String mxdNo) throws DataAccessException{
                      List list
          =getHibernateTemplate().find(Constants.TBPACKINGINFO_FINDBYMXDNO,mxdNo);
                      Iterator it
          =list.iterator();
                          TbPackinginfo pack
          = new TbPackinginfo();
                      
          if(it.hasNext()){
                              pack
          =(TbPackinginfo) it.next();
                          }

                      
          return pack;
              }
            如果數據庫中沒有記錄,則一切正常;如果數據庫中有記錄,則出現java.lang.NullPointerException 異常。
            java.lang.NullPointerException at org.hibernate.tuple.AbstractEntityTuplizer.createProxy

          解決方式:
            經在網上搜索后,終于找到解決的方法,現在與大家一起分享!
            1、更改加載方式為立即加載!即在多對一的影射中增加: lazy="false"
           
          <hibernate-mapping>
              
          <class name="com.jsfStudy.db.bo.TbPackinginfo" table="tb_packinginfo" catalog="danzhen">
                  
          <id name="piIdN" type="integer">
                      
          <column name="pi_id_N" />
                      
          <generator class="native" />
                  
          </id>
                  
          <many-to-one name="tbMakemxd"
                      
          class="com.jsfStudy.db.bo.TbMakemxd" fetch="select"lazy="false">
                      
          <column name="pi_mxdId_N" />
                  
          </many-to-one>
                  
          <property name="piTaskIdC" type="string">
                      
          <column name="pi_taskId_C" length="10" unique="true"></column>
                  
          </property>

                     ...

                 </class>
          </hibernate-mapping>

            或者
           
             2、升級cglib_2.1.3.jar至cglib_2.2.jar;
              cglib_2.2_beta1.jar文件下載地址:
              http://sourceforge.net/project/showfiles.php?group_id=56933&package_id=98218&release_id=419752

          posted on 2008-02-17 20:58 Yangjm 閱讀(1370) 評論(0)  編輯  收藏 所屬分類: Hibernate


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 伽师县| 娱乐| 河南省| 崇阳县| 丰县| 汨罗市| 平谷区| 万荣县| 万年县| 长泰县| 余江县| 福安市| 九江市| 长海县| 隆德县| 华宁县| 正宁县| 屏山县| 台前县| 黑水县| 卢湾区| 疏附县| 义乌市| 苗栗县| 香格里拉县| 成安县| 三都| 永泰县| 增城市| 金昌市| 石狮市| 昭觉县| 金塔县| 昌平区| 葫芦岛市| 新兴县| 商洛市| 怀仁县| 娱乐| 宜兰市| 邯郸县|