Terry.Li-彬

          虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks

          org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
          Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager

          解決:

          需要包jta.jar

          ?

          --------------------------------------------------------------------------------------------------------------------------------

          ?

          Exception in thread "main" java.lang.ClassCastException: $Proxy0
          ?at com.ambow.sh.test.Test.main(Test.java:16)
          2009-2-10 15:30:32 net.sf.ehcache.CacheManager$1 run
          信息: VM shutting down with the CacheManager still active. Calling shutdown.

          ?

          下面是我的代碼

          ?

          public ? class ?Test?{

          ????
          public ? static ? void
          ?main(String[]?args)?{

          ????????BeanFactory?fac?
          = ? new ??ClassPathXmlApplicationContext( " applicationContext.xml "
          );
          ????????
          ????????LoginDAO?ex?
          = ?(LoginDAO)?fac.getBean( " LoginDAO "
          );
          ????????
          ????????Login?login?
          = ? new
          ?Login();
          ????????
          ????????login.setUsername(
          " zhangsan "
          );
          ????????login.setPassword(
          " 123456 "
          );
          ????????ex.save(login);
          ????
          ????}

          }

          ?

          ?

          ?

          其中LoginDao 是繼承LoginInter 接口的

          ?

          所以我們的解決方法 就是用接口來接受獲得的bean

          ?

          ?

          public ? class ?Test?{

          ????
          public ? static ? void
          ?main(String[]?args)?{

          ????????BeanFactory?fac?
          = ? new ??ClassPathXmlApplicationContext( " applicationContext.xml "
          );
          ????????
          // 改成接口接受

          ????????LoginInter?ex? = ?(LoginInter)?fac.getBean( " LoginDAO " );
          ????????
          ????????Login?login?
          = ? new
          ?Login();
          ????????
          ????????login.setUsername(
          " zhangsan "
          );
          ????????login.setPassword(
          " 123456 "
          );
          ????????ex.save(login);
          ????
          ????}

          }

          ?
          -------------------------------------------------------------------------------------------------------------------------------
          一對一
          Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fac' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: must specify an identifier type:
          請設定參照屬性的名字
          ?
          --------------------------------------------------------------------------------------------------------------------------------

          嚴重: Servlet.service() for servlet default threw exception
          org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
          ?at org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1182)
          ?at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:692)
          ?at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
          ?at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
          ?at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:690)
          ?at com.ambow.ExamOnlineSystem.dao.ExamDaoImpl.add(ExamDaoImpl.java:18)
          ?at com.ambow.ExamOnlineSystem.entity.question.service.QuestionServiceImpl.save(QuestionServiceImpl.java:22)
          ?at com.ambow.ExamOnlineSystem.entity.question.action.QuestionAddAction.save(QuestionAddAction.java:39)
          ?at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          ?at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          ?at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

          ?

          解決:

          修改web.xml中的] <param-value>false </param-value>為false試試!

          < filter > ?
          < filter-name > hibernateFilter? </ filter-name > ?
          < filter-class > ?
          org.springframework.orm.hibernate3.support.OpenSessionInViewFilter?
          </ filter-class > ?
          < init-param > ?
          < param-name > singleSession? </ param-name > ?
          < param-value > false? </ param-value > ? </ init-param > ?
          </ filter >
          ?
          --------------------------------------------------------------------------------------------------------------------------------
          ?


          java.lang.IllegalArgumentException: node to traverse cannot be null!
          ?at org.hibernate.hql.ast.util.NodeTraverser.traverseDepthFirst(NodeTraverser.java:31)
          ?at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:254)
          ?at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
          ?at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
          ?at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
          ?at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
          ?at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
          ?at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
          ?at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
          ?at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)

          問題解決:

          出現這種問題是因為HQL語句出現問題,引起內部查詢對象為空,無法處理為空值引起的。解決方法,檢查HQL語句(尤其是關鍵字)。

          posted on 2011-01-18 08:55 禮物 閱讀(962) 評論(0)  編輯  收藏

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

          網站導航:
           
          主站蜘蛛池模板: 元阳县| 武汉市| 滨州市| 清徐县| 永丰县| 竹北市| 平邑县| 彰化县| 商丘市| 荃湾区| 济南市| 咸阳市| 丹阳市| 遂川县| 巴彦县| 台南县| 农安县| 灵璧县| 宿松县| 耒阳市| 穆棱市| 福鼎市| 曲沃县| 西城区| 高阳县| 旬阳县| 察隅县| 方正县| 绵竹市| 文登市| 区。| 连江县| 纳雍县| 余干县| 清原| 敦化市| 甘肃省| 沧源| 武安市| 霍山县| 虹口区|