Spring Hibernate异常 [英] Spring Hibernate Exception

查看:122
本文介绍了Spring Hibernate异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  2012年4月28日下午6:08:23 PM当我启动SpringMVC时,出现以下异常... 

org.apache.catalina.core.AprLifecycleListener init
INFO:在java.library.path中找不到基于APR的Apache Tomcat Native库,它允许在生产环境中实现最佳性能:/usr/bin/jdk1.7.0_03 /jre/lib/amd64/server:/usr/bin/jdk1.7.0_03/jre/lib/amd64:/usr/bin/jdk1.7.0_03/jre/../lib/amd64:/usr/lib/jvm / JAVA -6-的openjdk / JRE / LIB / AMD64 /服务器:/ usr / lib中/ JVM / JAVA -6-的openjdk / JRE / LIB / AMD64:/ usr / lib中/ JVM / JAVA -6-的openjdk / JRE /。 ./lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2012年4月28日6:08:23 org.apache。 tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule] {Server / Service / Engine / Host / Context}将属性'source'设置为'org.eclipse.jst.j2ee.server:spring-security-integration '没有找到匹配的财产。
2012年4月28日6:08:23 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule] {Server / Service / Engine / Host / Context}设置属性'source 'to'org.eclipse.jst.jee.server:Spring3Hibernate'找不到匹配的属性。
2012年4月28日6:08:23 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule] {Server / Service / Engine / Host / Context}设置属性'source 'to'org.eclipse.jst.jee.server:assessment'找不到匹配的属性。
2012年4月28日6:08:24 org.apache.coyote.AbstractProtocol init
INFO:初始化ProtocolHandler [http-bio-8080]
Apr 28,2012 6:08 :24 PM org.apache.coyote.AbstractProtocol init
INFO:初始化ProtocolHandler [ajp-bio-8009]
2012年4月28日6:08:24 org.apache.catalina.startup。 Catalina加载
INFO:初始化在601 ms中处理
2012年4月28日6:08:24 org.apache.catalina.core.StandardService startInternal
INFO:启动服务Catalina
2012年4月28日下午6时8分24秒org.apache.catalina.core.StandardEngine startInternal
INFO:启动Servlet引擎:Apache Tomcat / 7.0.26
Apr 28,2012 6:08:24 PM org.apache.catalina.core.ApplicationContext log
INFO:初始化Spring根WebApplicationContext
INFO:org.springframework.web.context.ContextLoader - 根WebApplicationContext:初始化开始
INFO:org.springframework .web.context.support.XmlWebApplicationContext - 刷新根WebApplicationContext:开始[4月28日星期六18:08:24 BST 2012];上下文层次结构的根
INFO:org.springframework.beans.factory.xml.XmlBeanDefinitionReader - 从ServletContext资源加载XML bean定义[/WEB-INF/spring/root-context.xml]
INFO:org .springframework.beans.factory.support.DefaultListableBeanFactory - 在org.springframework.beans.factory.support.DefaultListableBeanFactory@1c56295f中预先实例化单例:定义beans [];工厂层次结构的根
INFO:org.springframework.web.context.ContextLoader - 根WebApplicationContext:初始化在234 ms中完成
2012年4月28日下午6:08:24 org.apache.catalina.core。 ApplicationContext log
INFO:初始化Spring FrameworkServlet'appServlet'
INFO:org.springframework.web.servlet.DispatcherServlet - FrameworkServlet'appServlet':初始化开始
INFO:org.springframework.web.context .support.XmlWebApplicationContext - 为命名空间'appServlet-servlet'刷新WebApplicationContext:启动日期[Sat Apr 28 18:08:24 BST 2012]; parent:Root WebApplicationContext
INFO:org.springframework.beans.factory.xml.XmlBeanDefinitionReader - 从ServletContext资源加载XML bean定义[/WEB-INF/spring/appServlet/servlet-context.xml]
INFO :org.springframework.context.annotation.ClassPathBeanDefinitionScanner - 为组件扫描找到并支持JSR-330'javax.inject.Named'注释
INFO:org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor - JSR-330' javax.inject.Inject注释发现支持自动装配
产品介绍:org.springframework.beans.factory.support.DefaultListableBeanFactory - 预实例中org.springframework.beans.factory.support.DefaultListableBeanFactory@768404fd单身:定义豆[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMap pingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,#org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver 0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet。 mvc.SimpleControllerHandlerAdapter,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.view.InternalResourceViewResolver#0,数据源,的sessionFactory, HomeController中,userManagementController,userDAO的,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.in ternalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.view.ContentNegotiatingViewResolver#0,org.springframework.context.annotation.ConfigurationClassPostProcessor $ ImportAwareBeanPostProcessor#0] ; parent:org.springframework.beans.factory.support.DefaultListableBeanFactory@1c56295f
INFO:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - 映射{[/],methods = [GET], params = [],headers = [],consumes = [],生成= [],custom = []}转换为public java.lang.String org.assessme.com.HomeController.home(java.util.Locale,org .springframework.ui.Model)
INFO:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - 映射{[/ userManagement /],方法= [GET],则params = [],标头= java.lang.Object org.assessme.com.UserManagementController.home(java.util.Locale,org.springframework.ui.Model =[],consumes = [],produce = [],custom = []} )
INFO:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - 映射{[/ userManagement / getUser],methods = [GET],params = [],headers = [],消耗= [],生产= [],自定义= []}到公共org.assessme.com.entity.User org.assessme.com.UserManagementController.data(java.util。语言环境,org.springframework.ui.Model)
产品介绍:org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - 映射的URL路径[/资源/ **]在处理org.springframework.web.servlet.resource .ResourceHttpRequestHandler#0'
错误:org.hibernate.tool.hbm2ddl.SchemaUpdate - 无法获取数据库元数据
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:information_schema中的未知表'sequences'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java :45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
在com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
在com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
在com.mysql.jdbc .ConnectionImpl.execSQL(ConnectionImpl.java:2618)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java :1557)
at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
at org.hibernate.tool.hbm2ddl.DatabaseMetadata.initSequences(DatabaseMetadata.java:151)
at org.hibernate.tool.hbm2ddl.DatabaseMetadata。< init>(DatabaseMetadata.java:69)
at org.hibernate.tool.hbm2ddl.DatabaseMetadata。< init>(DatabaseMetadata.jav a:62)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:170)
at org.hibernate.impl.SessionFactoryImpl。< init>(SessionFactoryImpl.java:386 )
在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
处组织org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
。 springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860)
处org.springframework.orm org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779)
。在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
(AbstractAutowireCapableBeanFactory.java:1514)
。在org.springframework.beans.factory。 support.AbstractAutowireCapableBeanFactory.in itializeBean(AbstractAutowireCapableBeanFactory.java:1452)
处org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
。 createBean(AbstractAutowireCapableBeanFactory.java:456)
在org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:294)
在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry .getSingleton(DefaultSingletonBeanRegistry.java:225)
在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
在org.springframework.beans.factory.support.AbstractBeanFactory .getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
at org.springframewo rk.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
处org.springframework.web org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
。 servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
位于org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
位于org.springframework.web.servlet.FrameworkServlet。 createWebApplicationContext(FrameworkServlet.java:645)
在org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
在org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet的。
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
在org.apache.c atalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core。 StandardWrapper.load(StandardWrapper.java:1080)
在org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
在org.apache.catalina.core.StandardContext.startInternal( StandardContext.java:5302)
处org.apache.catalina.core.ContainerBase $ StartChild.call org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
(ContainerBase。
at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1556)$ b $ at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java .util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

重要的细节似乎在ERROR中:org.hibernate.tool.hbm2ddl.SchemaUpdate - 无法获取数据库元数据

我的servlet-context.xml如下...

 <?xml version =1.0encoding =UTF-8?> 
< beans:beans xmlns =http://www.springframework.org/schema/mvc
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance xmlns:beans =http://www.springframework.org/schema/beans
xmlns:context =http://www.springframework.org/schema/context
xsi:schemaLocation =http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/ schema / beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org /schema/context/spring-context-3.0.xsd\">

<! - DispatcherServlet上下文:定义这个servlet的请求处理
infrastructure - >

<! - 启用Spring MVC @Controller编程模型 - >
< annotation-driven />

<! - 通过在$ {webappRoot} / resources目录中有效地服务
静态资源来处理/ resources / **的HTTP GET请求 - >
< resource mapping =/ resources / **location =/ resources //>


<! - 解析@Controllers对/ WEB-INF / views目录中的.jsp资源
选择的视图 - >
< beans:bean
class =org.springframework.web.servlet.view.InternalResourceViewResolver>
< beans:property name =prefixvalue =/ WEB-INF / views //>
< beans:property name =suffixvalue =。jsp/>
< / beans:bean>

< bean:bean id =dataSourceclass =org.apache.commons.dbcp.BasicDataSource
destroy-method =close>
< beans:property name =driverClassNamevalue =com.mysql.jdbc.Driver/>
< beans:property name =urlvalue =jdbc:mysql:// localhost / assessme/>
< beans:property name =usernamevalue =root/>
< beans:property name =passwordvalue =toor/>
< / beans:bean>

< beans:bean id =sessionFactoryclass =org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean>
< beans:property name =annotatedClasses>
< beans:list>
< beans:value> org.assessme.com.entity.User< / beans:value>
< / beans:list>
< / beans:property>
< beans:property name =dataSourceref =dataSource/>
< beans:property name =packagesToScanvalue =data/>
< beans:property name =hibernateProperties>
< beans:道具>
< beans:prop key =hibernate.dialect> org.hibernate.dialect.H2Dialect< / beans:prop>
< beans:prop key =hibernate.current_session_context_class>线程< / beans:prop>
< beans:prop key =hibernate.transaction.factory_class> org.hibernate.transaction.JDBCTransactionFactory< / beans:prop>
< beans:prop key =hibernate.show_sql> true< / beans:prop>
< beans:prop key =hibernate.hbm2ddl.auto> update< / beans:prop>
< / beans:道具>
< / beans:property>
< / beans:bean>

< context:component-scan base-package =org.assessme.com/>

< beans:bean class =org.springframework.web.servlet.view.ContentNegotiatingViewResolver>
< beans:property name =mediaTypes>
< beans:map>
< beans:entry key =htmlvalue =text / html/>
< beans:entry key =jsonvalue =application / json/>
< / beans:map>
< / beans:property>
< beans:property name =defaultViews>
< beans:list>
< beans:bean
class =org.springframework.web.servlet.view.json.MappingJacksonJsonView>
< beans:property name =prefixJsonvalue =true/>
< / beans:bean>
< / beans:list>
< / beans:property>
< / beans:bean>


< / beans:beans>

我确定url详细信息和凭据对于数据库是正确的,任何人都可以想到其他任何人原因?

看起来它试图访问information_schema db,但是在我的XML中,我已经设置了它应该查看的数据库...

 < beans:bean id =dataSourceclass =org.apache.commons.dbcp.BasicDataSource
destroy-method =靠近>
< beans:property name =driverClassNamevalue =com.mysql.jdbc.Driver/>
< beans:property name =urlvalue =jdbc:mysql:// localhost / assessme/>
< beans:property name =usernamevalue =root/>
< beans:property name =passwordvalue =toor/>
< / beans:bean>

谢谢,

David

解决方案

看看你的错误:

 错误:org.hibernate.tool.hbm2ddl.SchemaUpdate  - 不能得到数据库的元数据
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:在INFORMATION_SCHEMA
未知表 '序列'

您将MySQL映射到information_schema,这是MySQL中的系统数据库,并且此数据库不包含sequances表,

顺便说一句,您需要考虑到MySQL没有CREATE Sequance命令。

When I start SpringMVC, I get the following exception...

    Apr 28, 2012 6:08:23 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/bin/jdk1.7.0_03/jre/lib/amd64/server:/usr/bin/jdk1.7.0_03/jre/lib/amd64:/usr/bin/jdk1.7.0_03/jre/../lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Apr 28, 2012 6:08:23 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:spring-security-integration' did not find a matching property.
Apr 28, 2012 6:08:23 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Spring3Hibernate' did not find a matching property.
Apr 28, 2012 6:08:23 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:assessment' did not find a matching property.
Apr 28, 2012 6:08:24 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Apr 28, 2012 6:08:24 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Apr 28, 2012 6:08:24 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 601 ms
Apr 28, 2012 6:08:24 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Apr 28, 2012 6:08:24 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
Apr 28, 2012 6:08:24 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
INFO : org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started
INFO : org.springframework.web.context.support.XmlWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Sat Apr 28 18:08:24 BST 2012]; root of context hierarchy
INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring/root-context.xml]
INFO : org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1c56295f: defining beans []; root of factory hierarchy
INFO : org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 234 ms
Apr 28, 2012 6:08:24 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'appServlet'
INFO : org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'appServlet': initialization started
INFO : org.springframework.web.context.support.XmlWebApplicationContext - Refreshing WebApplicationContext for namespace 'appServlet-servlet': startup date [Sat Apr 28 18:08:24 BST 2012]; parent: Root WebApplicationContext
INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring/appServlet/servlet-context.xml]
INFO : org.springframework.context.annotation.ClassPathBeanDefinitionScanner - JSR-330 'javax.inject.Named' annotation found and supported for component scanning
INFO : org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
INFO : org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@768404fd: defining beans [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.view.InternalResourceViewResolver#0,dataSource,sessionFactory,homeController,userManagementController,userDao,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.view.ContentNegotiatingViewResolver#0,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@1c56295f
INFO : org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String org.assessme.com.HomeController.home(java.util.Locale,org.springframework.ui.Model)
INFO : org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/userManagement/],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.assessme.com.UserManagementController.home(java.util.Locale,org.springframework.ui.Model)
INFO : org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/userManagement/getUser],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.assessme.com.entity.User org.assessme.com.UserManagementController.data(java.util.Locale,org.springframework.ui.Model)
INFO : org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - Mapped URL path [/resources/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0'
ERROR: org.hibernate.tool.hbm2ddl.SchemaUpdate - could not get database metadata
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'sequences' in information_schema
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.Util.getInstance(Util.java:386)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
    at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1557)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
    at org.hibernate.tool.hbm2ddl.DatabaseMetadata.initSequences(DatabaseMetadata.java:151)
    at org.hibernate.tool.hbm2ddl.DatabaseMetadata.<init>(DatabaseMetadata.java:69)
    at org.hibernate.tool.hbm2ddl.DatabaseMetadata.<init>(DatabaseMetadata.java:62)
    at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:170)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:386)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
    at javax.servlet.GenericServlet.init(GenericServlet.java:160)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

The important detail appears to be in ERROR: org.hibernate.tool.hbm2ddl.SchemaUpdate - could not get database metadata

My servlet-context.xml is as follows...

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <!-- DispatcherServlet Context: defines this servlet's request-processing 
        infrastructure -->

    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven />

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving 
        up static resources in the ${webappRoot}/resources directory -->
    <resources mapping="/resources/**" location="/resources/" />


    <!-- Resolves views selected for rendering by @Controllers to .jsp resources 
        in the /WEB-INF/views directory -->
    <beans:bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

    <beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <beans:property name="url" value="jdbc:mysql://localhost/assessme" />
        <beans:property name="username" value="root" />
        <beans:property name="password" value="toor" />
    </beans:bean>

     <beans:bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <beans:property name="annotatedClasses">
        <beans:list>
            <beans:value>org.assessme.com.entity.User</beans:value>
        </beans:list>
    </beans:property>
        <beans:property name="dataSource" ref="dataSource" />
        <beans:property name="packagesToScan" value="data" />
        <beans:property name="hibernateProperties">
            <beans:props>
                <beans:prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</beans:prop>
                <beans:prop key="hibernate.current_session_context_class">thread</beans:prop>
                <beans:prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</beans:prop>
                <beans:prop key="hibernate.show_sql">true</beans:prop>
                <beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop>
            </beans:props>
        </beans:property>
    </beans:bean>

    <context:component-scan base-package="org.assessme.com" />

    <beans:bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <beans:property name="mediaTypes">
            <beans:map>
                <beans:entry key="html" value="text/html" />
                <beans:entry key="json" value="application/json" />
            </beans:map>
        </beans:property>
        <beans:property name="defaultViews">
            <beans:list>
                <beans:bean
                    class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
                    <beans:property name="prefixJson" value="true" />
                </beans:bean>
            </beans:list>
        </beans:property>
    </beans:bean>


</beans:beans>

I'm certain the url details and credentials are correct for the database, can anyone think of any other reasons?

It looks like it's trying to access the information_schema db, but in my XML I have set the db it should look at...

<beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <beans:property name="url" value="jdbc:mysql://localhost/assessme" />
        <beans:property name="username" value="root" />
        <beans:property name="password" value="toor" />
    </beans:bean>

Thanks,

David

解决方案

Look at your error:

ERROR: org.hibernate.tool.hbm2ddl.SchemaUpdate - could not get database metadata
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'sequences' in information_schema

You are mapping your MySQL to information_schema which is system database in MySQL and this database does not contain sequances table,

BTW, of the record, you need to take into consideration that MySQL does not have "CREATE Sequance" command.

这篇关于Spring Hibernate异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆