ssh框架做的项目中,DAO文件等都是用hibernate自动生成的。
当我点击页面上的添加按钮时:却出现了这个异常;
请问是怎么回事java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.ghtn.techschool.struts.action.BaseTable1_10Action.invoke(BaseTable1_10Action.java:96)
at com.ghtn.techschool.struts.action.BaseTable1_10Action.init(BaseTable1_10Action.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at com.ghtn.techschool.struts.action.BaseTable1_10Action.execute(BaseTable1_10Action.java:34)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.ghtn.techschool.system.TestFilter.doFilterHttp(TestFilter.java:178)
at com.ghtn.techschool.system.TestFilter.doFilter(TestFilter.java:193)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.MappingException: Unknown entity: com.ghtn.techschool.entitys.Markpercent
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:68)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:815)
at com.ghtn.techschool.dao.MarkpercentDAO.findById(MarkpercentDAO.java:58)
... 35 more
http://127.0.0.1:8080/TechSchool/

解决方案 »

  1.   

    没有映射文件com.ghtn.techschool.entitys.Markpercent 
      

  2.   

    hibernate.cfg.xml上配置
    <mapping >节点
      

  3.   

    回复(java四脚猫) :<mapping>节点配置的正确!!还有什么原因呢?
      

  4.   

    问题所在:jsp页面里点击“添加”按钮,页面能显示出来显示(但功能实现不了),控制台出现了这个异常:
        Caused by:org.hibernate.MappingException:Unknown entity:    com.ghtn.techschool.entitys.Markpercent注:MarkpercentDAO和Markpercent.hbm.xml是hibernate自动生成的,MarkpercentAction和MarkpercentForm是struts自动生成的。分析原因:到网上查了一下,说是映射的问题,但自己的映射文件确实没有错误。
        第二个原因就是:现在问题解决了,找到了原因:原来是新new出来的Java文件没有MyEclipse自动编   译,但是MyEclipse没有及时的把旧的.class文件删除。解决办法:把所有的.class文件删除,再重新编译所有文件。这样就OK了。