0

我想创建一个简单的 Web 项目应用程序。我正在使用 struts2 和 hibernate,我对这两个框架都是新手,我收到了这个错误:

无法实例化操作,org.project.actions.UserAction,为命名空间'/'中的'saveUser'定义需要使用AnnotationConfiguration实例
    com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:306)
    com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:387)
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
    org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
    org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)

根本原因

org.hibernate.MappingException:需要使用 AnnotationConfiguration 实例
    org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1634)
    org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1589)
    org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1568)
    org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1542)
    org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
    org.hibernate.cfg.Configuration.configure(Configuration.java:1448)
    org.project.actions.UserAction.(UserAction.java:23)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(未知来源)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知来源)
    java.lang.reflect.Constructor.newInstance(未知来源)
    java.lang.Class.newInstance0(未知来源)
    java.lang.Class.newInstance(未知来源)
    com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:119)
    com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:150)
    com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139)
    com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:109)
    com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:287)
    com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:387)
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
    org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
    org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)

我曾尝试使用 AnnotationConfiguration() 创建 SessionFactory,但出现同样的错误。请帮忙。提前致谢。

4

1 回答 1

0

这是我的愚蠢错误。我正在使用完整的休眠插件。当你使用这个插件时,你不必为 Session 对象创建 SessionFactory 对象。我的错误是我忘记删除 SessionFactory 对象和 Session 对象。:-)

于 2012-05-10T04:32:19.840 回答