休眠问题

时间:2010-07-16 12:10:14

标签: java hibernate orm derby

我是hibernate新手,遇到以下错误

[INFO ][main][2010-07-16 17:36:13] HibernateUtil.java (l.66) : connection url =
jdbc:derby:MATOSO_DB;create=true
[ERROR][main][2010-07-16 17:36:14] SchemaExport.java (l.274) : schema export uns
uccessful
java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getConnection(DriverManager.java:545)
        at java.sql.DriverManager.getConnection(DriverManager.java:140)
        at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
        at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
        at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:252)
        at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:211)    
        at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:353)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
        at org.mahjong.matoso.util.HibernateUtil.<clinit>(HibernateUtil.java:67)    
        at org.mahjong.matoso.servlet.init.ServletInit.init(ServletInit.java:40)    
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4350)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4659)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
        at org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        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:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
[INFO ][main][2010-07-16 17:36:14] ServletInit.java (l.41) : *******************
********* Hibernate successfully initialized in 1094 ms
Jul 16, 2010 5:36:14 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Jul 16, 2010 5:36:14 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Jul 16, 2010 5:36:14 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jul 16, 2010 5:36:14 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/16  config=null
Jul 16, 2010 5:36:14 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 10878 ms

3 个答案:

答案 0 :(得分:1)

可能Derby JDBC驱动程序不在tomcat的类路径中。转到Apache Derby: Downloads并下载最新版本。将驱动程序jar(存档的lib文件夹中的derby.jar)添加到tomcat的lib文件夹中。

答案 1 :(得分:1)

没有合适的驱动程序通常表示格式不正确的网址 - 假设驱动程序已加载。所以,仔细检查:

  • 类路径中的derby.jar
  • 您指定了正确的驱动程序类(如果您使用的是嵌入式Derby,则应为org.apache.derby.jdbc.EmbeddedDriver),
  • 您的网址不包含空格:jdbc:derby:MATOSO_DB;create=true(我重新格式化了问题,但初始版本在网址连接字符串中有空格)。

答案 2 :(得分:0)

尝试使用数据库网址:

jdbc:derby:MATOSO_DB;create=true

而不是:

jdbc: derby:MATOSO_DB; create = true