|
|
|
Khang Ha
|
Hi all,
I create Maven with Struts 2 framework by running commands : _ mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject _ mvn eclipse:eclipse _ mvn appfuse:full-source _ mvn jetty:run Everything is OK and run web application successful (http://localhost:8080) After that, I create a new file HibernateUtil.java in src/main/java/com/mycompany/app/webapp package com.mycompany.app.webapp.util; import java.sql.Statement; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { Session session; Statement st; Configuration config; public HibernateUtil(){ config = new Configuration().configure(); SessionFactory sessionFactory = config.buildSessionFactory(); session = sessionFactory.openSession(); } public Configuration getConfiguration(){ return config; } public Session getSession(){ return session; } } Then,I continue creating a new file User.hbm.xml in src/main/resources <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <sql-query name="User.SqlQuery"> <![CDATA[ delete from app_user where id = -2 ]]> </sql-query> </hibernate-mapping> And I add some lines in src/main/resources/hibernate.cfg.xml <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <mapping class="com.mycompany.app.model.User" /> <mapping class="com.mycompany.app.model.Role"/> <!-- Mapping files --> <mapping resource="User.hbm.xml"/> </session-factory> </hibernate-configuration> In src/main/java/com/mycompany/app/webapp/action/UserAction.java ,function delete : /** * Delete the user passed in. * @return success */ public String delete() { //userManager.removeUser(user.getId().toString()); Session session = hibernateUtil.getSession(); Query query = session.getNamedQuery("Product.SQLpricing"); query.executeUpdate(); List<String> args = new ArrayList<String>(); args.add(user.getFullName()); saveMessage(getText("user.deleted", args)); return SUCCESS; } I run web application again, login to access admin menu, and chose Administration ---> View Users errors occur : javax.servlet.ServletException: Unable to instantiate Action, userAction, defined for 'users' in namespace '/admin'Error creating bean with name 'userAction' defined in ServletContext resource [/WEB-INF/applicationContext-struts.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.mycompany.app.webapp.action.UserAction]: Constructor threw exception; nested exception is org.hibernate.MappingException: An AnnotationConfiguration instance is required to use - action - file:/E:/Green%20Sun/Projects/demo_2/target/classes/struts.xml:131:63 at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at com.mycompany.app.webapp.filter.StaticFilter.doFilterInternal(StaticFilter.java:106) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:406) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:75) at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at com.mycompany.app.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359) at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:172) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:268) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:87) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:61) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) Caused by: Unable to instantiate Action, userAction, defined for 'users' in namespace '/admin'Error creating bean with name 'userAction' defined in ServletContext resource [/WEB-INF/applicationContext-struts.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.mycompany.app.webapp.action.UserAction]: Constructor threw exception; nested exception is org.hibernate.MappingException: An AnnotationConfiguration instance is required to use - action - file:/E:/Green%20Sun/Projects/demo_2/target/classes/struts.xml:131:63 at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:294) at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365) at com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38) at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:83) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:74) at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494) ... 79 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userAction' defined in ServletContext resource [/WEB-INF/applicationContext-struts.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.mycompany.app.webapp.action.UserAction]: Constructor threw exception; nested exception is org.hibernate.MappingException: An AnnotationConfiguration instance is required to use at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:881) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:824) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) at java.security.AccessController.doPrivileged(Native Method) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881) at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:125) at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:143) at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:113) at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:275) ... 87 more Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.mycompany.app.webapp.action.UserAction]: Constructor threw exception; nested exception is org.hibernate.MappingException: An AnnotationConfiguration instance is required to use at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:111) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:875) ... 100 more Caused by: org.hibernate.MappingException: An AnnotationConfiguration instance is required to use at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1606) at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1561) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514) at org.hibernate.cfg.Configuration.configure(Configuration.java:1434) at org.hibernate.cfg.Configuration.configure(Configuration.java:1420) at com.mycompany.app.webapp.util.HibernateUtil.(HibernateUtil.java:15) at com.mycompany.app.webapp.action.UserAction.(UserAction.java:37) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:96) ... 102 more I debug source ,it throw an exeption at BeanUtils.class : /** * Convenience method to instantiate a class using the given constructor. * As this method doesn't try to load classes by name, it should avoid * class-loading issues. * <p>Note that this method tries to set the constructor accessible * if given a non-accessible (that is, non-public) constructor. * @param ctor the constructor to instantiate * @param args the constructor arguments to apply * @return the new instance * @throws BeanInstantiationException if the bean cannot be instantiated */ public static Object instantiateClass(Constructor ctor, Object[] args) throws BeanInstantiationException { Assert.notNull(ctor, "Constructor must not be null"); try { ReflectionUtils.makeAccessible(ctor); return ctor.newInstance(args); } [...] catch (InvocationTargetException ex) { throw new BeanInstantiationException(ctor.getDeclaringClass(), "Constructor threw exception", ex.getTargetException()); } } MappingException = org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.mycompany.app.model.User"/> Help me solve this! Its urgent. Thanks all! |
|
mraible
|
Have you tried reading the tutorials on appfuse.org?
On Apr 17, 2009, at 12:28 AM, Kenny Ha <[hidden email]> wrote: > > Hi all, > > I create Maven with Struts 2 framework by running commands : > > _ mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes > -DarchetypeArtifactId=appfuse-basic-struts > -DremoteRepositories=http://static.appfuse.org/releases > -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app - > DartifactId=myproject > > _ mvn eclipse:eclipse > > _ mvn appfuse:full-source > > _ mvn jetty:run > > Everything is OK and run web application successful (http://localhost:8080 > ) > > After that, I create a new file HibernateUtil.java in > src/main/java/com/mycompany/app/webapp > > package com.mycompany.app.webapp.util; > > import java.sql.Statement; > > import org.hibernate.Session; > import org.hibernate.SessionFactory; > import org.hibernate.cfg.Configuration; > > public class HibernateUtil { > Session session; > Statement st; > Configuration config; > > public HibernateUtil(){ > config = new Configuration().configure(); > > > SessionFactory sessionFactory = config.buildSessionFactory(); > session = sessionFactory.openSession(); > } > > public Configuration getConfiguration(){ > return config; > } > > public Session getSession(){ > return session; > } > } > > Then,I continue creating a new file User.hbm.xml in src/main/resources > > <?xml version='1.0' encoding='utf-8'?> > <!DOCTYPE hibernate-mapping > PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" > "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> > > <hibernate-mapping> > <sql-query name="User.SqlQuery"> > <![CDATA[ > delete from app_user where id = -2 > ]]> > </sql-query> > </hibernate-mapping> > > And I add some lines in src/main/resources/hibernate.cfg.xml > > <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate > Configuration DTD 3.0//EN" > "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> > > <hibernate-configuration> > <session-factory> > <mapping class="com.mycompany.app.model.User" /> > <mapping class="com.mycompany.app.model.Role"/> > > <!-- Mapping files --> > <mapping resource="User.hbm.xml"/> > > </session-factory> > </hibernate-configuration> > > In src/main/java/com/mycompany/app/webapp/action/ > UserAction.java ,function > delete : > > /** > * Delete the user passed in. > * @return success > */ > public String delete() { > //userManager.removeUser(user.getId().toString()); > Session session = hibernateUtil.getSession(); > Query query = session.getNamedQuery("Product.SQLpricing"); > query.executeUpdate(); > List<String> args = new ArrayList<String>(); > args.add(user.getFullName()); > saveMessage(getText("user.deleted", args)); > > return SUCCESS; > } > > I run web application again, login to access admin menu, and chose > Administration ---> View Users errors occur : > > javax.servlet.ServletException: Unable to instantiate Action, > userAction, > defined for 'users' in namespace '/admin'Error creating bean with name > 'userAction' defined in ServletContext resource > [/WEB-INF/applicationContext-struts.xml]: Instantiation of bean > failed; > nested exception is > org.springframework.beans.BeanInstantiationException: > Could not instantiate bean class > [com.mycompany.app.webapp.action.UserAction]: Constructor threw > exception; > nested exception is org.hibernate.MappingException: An > AnnotationConfiguration instance is required to use - action - > file:/E:/Green%20Sun/Projects/demo_2/target/classes/struts.xml:131:63 > at > org. > apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java: > 515) > at > org. > apache. > struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java: > 419) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > com. > mycompany. > app.webapp.filter.StaticFilter.doFilterInternal(StaticFilter.java:106) > at > org. > springframework. > web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > com. > opensymphony. > module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) > at > com. > opensymphony. > module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > org. > apache. > struts2. > dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > org. > tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java: > 164) > at > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java: > 141) > at > org. > tuckey. > web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) > at > org. > tuckey. > web. > filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java: > 406) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > org. > displaytag. > filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java: > 125) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > net. > sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java: > 75) > at > net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > com. > mycompany. > app.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74) > at > org. > springframework. > web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > com. > opensymphony. > clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:359) > at > org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke > (FilterSecurityInterceptor.java:109) > at > org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter > (FilterSecurityInterceptor.java:83) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security. > ui. > ExceptionTranslationFilter. > doFilterHttp(ExceptionTranslationFilter.java:101) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security. > providers. > anonymous. > AnonymousProcessingFilter. > doFilterHttp(AnonymousProcessingFilter.java:105) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security. > ui. > rememberme. > RememberMeProcessingFilter. > doFilterHttp(RememberMeProcessingFilter.java:116) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security. > wrapper. > SecurityContextHolderAwareRequestFilter. > doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security. > ui. > basicauth. > BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:172) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security. > ui. > AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java: > 268) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:87) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security. > ui. > SessionFixationProtectionFilter. > doFilterHttp(SessionFixationProtectionFilter.java:61) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security. > context. > HttpSessionContextIntegrationFilter. > doFilterHttp(HttpSessionContextIntegrationFilter.java:235) > at > org. > springframework. > security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java: > 53) > at > org.springframework.security.util.FilterChainProxy > $VirtualFilterChain.doFilter(FilterChainProxy.java:371) > at > org. > springframework. > security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174) > at > org. > springframework. > web. > filter. > DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) > at > org. > springframework. > web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java: > 167) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal > (CharacterEncodingFilter.java:96) > at > org. > springframework. > web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler > $CachedChain.doFilter(ServletHandler.java:1084) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: > 360) > at > org. > mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: > 216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: > 181) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: > 726) > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) > at > org. > mortbay. > jetty. > handler. > ContextHandlerCollection.handle(ContextHandlerCollection.java:206) > at > org. > mortbay. > jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > 152) > at org.mortbay.jetty.Server.handle(Server.java:324) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > 505) > at > org.mortbay.jetty.HttpConnection > $RequestHandler.headerComplete(HttpConnection.java:828) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) > at > org. > mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: > 395) > at > org.mortbay.thread.BoundedThreadPool > $PoolThread.run(BoundedThreadPool.java:450) > Caused by: Unable to instantiate Action, userAction, defined for > 'users' in > namespace '/admin'Error creating bean with name 'userAction' defined > in > ServletContext resource [/WEB-INF/applicationContext-struts.xml]: > Instantiation of bean failed; nested exception is > org.springframework.beans.BeanInstantiationException: Could not > instantiate > bean class [com.mycompany.app.webapp.action.UserAction]: Constructor > threw > exception; nested exception is org.hibernate.MappingException: An > AnnotationConfiguration instance is required to use - action - > file:/E:/Green%20Sun/Projects/demo_2/target/classes/struts.xml:131:63 > at > com. > opensymphony. > xwork2. > DefaultActionInvocation.createAction(DefaultActionInvocation.java:294) > at > com. > opensymphony. > xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365) > at > com.opensymphony.xwork2.DefaultActionInvocation.access > $000(DefaultActionInvocation.java:38) > at > com.opensymphony.xwork2.DefaultActionInvocation > $1.doProfiling(DefaultActionInvocation.java:83) > at > com. > opensymphony. > xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation. > (DefaultActionInvocation.java:74) > at > com. > opensymphony. > xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189) > at > org. > apache. > struts2. > impl. > StrutsActionProxyFactory. > createActionProxy(StrutsActionProxyFactory.java:41) > at > org. > apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java: > 494) > ... 79 more > Caused by: org.springframework.beans.factory.BeanCreationException: > Error > creating bean with name 'userAction' defined in ServletContext > resource > [/WEB-INF/applicationContext-struts.xml]: Instantiation of bean > failed; > nested exception is > org.springframework.beans.BeanInstantiationException: > Could not instantiate bean class > [com.mycompany.app.webapp.action.UserAction]: Constructor threw > exception; > nested exception is org.hibernate.MappingException: An > AnnotationConfiguration instance is required to use > at > org. > springframework. > beans. > factory. > support. > AbstractAutowireCapableBeanFactory. > instantiateBean(AbstractAutowireCapableBeanFactory.java:881) > at > org. > springframework. > beans. > factory. > support. > AbstractAutowireCapableBeanFactory. > createBeanInstance(AbstractAutowireCapableBeanFactory.java:824) > at > org. > springframework. > beans. > factory. > support. > AbstractAutowireCapableBeanFactory. > doCreateBean(AbstractAutowireCapableBeanFactory.java:440) > at > org. > springframework. > beans.factory.support.AbstractAutowireCapableBeanFactory > $1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > org. > springframework. > beans. > factory. > support. > AbstractAutowireCapableBeanFactory. > createBean(AbstractAutowireCapableBeanFactory.java:380) > at > org. > springframework. > beans. > factory. > support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283) > at > org. > springframework. > beans. > factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: > 185) > at > org. > springframework. > beans. > factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: > 164) > at > org. > springframework. > context. > support. > AbstractApplicationContext.getBean(AbstractApplicationContext.java: > 881) > at > com. > opensymphony. > xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java: > 125) > at > com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java: > 143) > at > com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java: > 113) > at > com. > opensymphony. > xwork2. > DefaultActionInvocation.createAction(DefaultActionInvocation.java:275) > ... 87 more > Caused by: org.springframework.beans.BeanInstantiationException: > Could not > instantiate bean class [com.mycompany.app.webapp.action.UserAction]: > Constructor threw exception; nested exception is > org.hibernate.MappingException: An AnnotationConfiguration instance is > required to use > at > org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java: > 111) > at > org. > springframework. > beans. > factory. > support. > SimpleInstantiationStrategy. > instantiate(SimpleInstantiationStrategy.java:61) > at > org. > springframework. > beans. > factory. > support. > AbstractAutowireCapableBeanFactory. > instantiateBean(AbstractAutowireCapableBeanFactory.java:875) > ... 100 more > Caused by: org.hibernate.MappingException: An AnnotationConfiguration > instance is required to use > at > org. > hibernate.cfg.Configuration.parseMappingElement(Configuration.java: > 1606) > at > org. > hibernate.cfg.Configuration.parseSessionFactory(Configuration.java: > 1561) > at org.hibernate.cfg.Configuration.doConfigure(Configuration.java: > 1540) > at org.hibernate.cfg.Configuration.doConfigure(Configuration.java: > 1514) > at org.hibernate.cfg.Configuration.configure(Configuration.java: > 1434) > at org.hibernate.cfg.Configuration.configure(Configuration.java: > 1420) > at com.mycompany.app.webapp.util.HibernateUtil. > (HibernateUtil.java:15) > at com.mycompany.app.webapp.action.UserAction.(UserAction.java:37) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun. > reflect. > NativeConstructorAccessorImpl. > newInstance(NativeConstructorAccessorImpl.java:39) > at > sun. > reflect. > DelegatingConstructorAccessorImpl. > newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) > at > org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java: > 96) > ... 102 more > > I debug source ,it throw an exeption at BeanUtils.class : > > /** > * Convenience method to instantiate a class using the given > constructor. > * As this method doesn't try to load classes by name, it should > avoid > * class-loading issues. > * <p>Note that this method tries to set the constructor accessible > * if given a non-accessible (that is, non-public) constructor. > * @param ctor the constructor to instantiate > * @param args the constructor arguments to apply > * @return the new instance > * @throws BeanInstantiationException if the bean cannot be > instantiated > */ > public static Object instantiateClass(Constructor ctor, Object[] > args) > throws BeanInstantiationException { > Assert.notNull(ctor, "Constructor must not be null"); > try { > ReflectionUtils.makeAccessible(ctor); > return ctor.newInstance(args); > } > [...] > catch (InvocationTargetException ex) { > throw new > BeanInstantiationException(ctor.getDeclaringClass(), > "Constructor threw exception", > ex.getTargetException()); > } > } > > MappingException = org.hibernate.MappingException: An > AnnotationConfiguration instance is required to use <mapping > class="com.mycompany.app.model.User"/> > > Help me solve this! Its urgent. > Thanks all! > > -- > View this message in context: http://www.nabble.com/Named-SQL-query-in-Maven-tp23090875s2369p23090875.html > Sent from the AppFuse - Dev mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [hidden email] > For additional commands, e-mail: [hidden email] > > nt. > Thanks all! > > -- > View this message in context: http://www.nabble.com/Named-SQL-query-in-Maven-tp23090875s2369p23090875.html > Sent from the AppFuse - Dev mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [hidden email] > For additional commands, e-mail: [hidden email] > > java.net > --------------------------------------------------------------------- To unsubscribe, e-mail: [hidden email] For additional commands, e-mail: [hidden email] |
||||||||||||||||
|
Khang Ha
|
I can't find Hibernate Named SQL query Usage on appfuse.org
I wanna call SQL query from an XML file. Example : In file Person.hbm.xml <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <sql-query name="Person.SqlQuery"> <![CDATA[ delete from person where id = -2 ]]> </sql-query> </hibernate-mapping> In file hibernate.cfg.xml : <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <mapping class="com.mycompany.app.model.User"/> <mapping class="com.mycompany.app.model.Role"/> <mapping class="com.mycompany.app.model.Person"/> <!-- Mapping files --> <mapping resource="Person.hbm.xml"/> </session-factory> </hibernate-configuration> I'm using Struts 2 Basic framework. Anyone help me??
|
||||||||||||||||
|
mraible
|
Why do you want to use SQL when you can do this same thing with HQL? In the future, please post these questions to the users list so more people will see it. There's not as many folks subscribed to the dev list.
Thanks, Matt On Tue, Apr 28, 2009 at 8:19 PM, Kenny Ha <[hidden email]> wrote:
|
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |