Java 没有合适的司机。正在尝试使用Hibernate连接到Heroku上的postgresql数据库
很抱歉打扰你,但我一直收到一个错误,我真的不明白为什么 正如标题中所述,我正在尝试使用hibernate连接运行heroku的postgresql数据库。我的应用程序也在Heroku上运行 它在本地模式下工作,我试过几个postgre驱动程序 下面是我的hibernate.cfg.xml:Java 没有合适的司机。正在尝试使用Hibernate连接到Heroku上的postgresql数据库,java,hibernate,postgresql,heroku,Java,Hibernate,Postgresql,Heroku,很抱歉打扰你,但我一直收到一个错误,我真的不明白为什么 正如标题中所述,我正在尝试使用hibernate连接运行heroku的postgresql数据库。我的应用程序也在Heroku上运行 它在本地模式下工作,我试过几个postgre驱动程序 下面是我的hibernate.cfg.xml: <!-- PostgreSQL --> <property name="connection.url">jdbc:postgresql://paafeblgkhhbkx:PhZEtH
<!-- PostgreSQL -->
<property name="connection.url">jdbc:postgresql://paafeblgkhhbkx:PhZEtHl2RHwbWDQJJOurmej89-@ec2-54-243-243-252.compute-1.amazonaws.com:5432/d1vsgjgnfr1koq</property>
<property name="connection.username">paafeblgkhhbk</property>
<property name="connection.password">My password</property>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
正如你所见,司机被找到了。我很确定url也可以(如果我尝试使用另一个url,就会出现连接错误)
以下是我的家属:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.9.Final</version>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
</dependency>
org.hibernate
冬眠核心
4.1.9.最终版本
postgresql
postgresql
9.1-901.jdbc4
它们是按照我的pom中的说明导出的(我可以看到maven在部署我的应用程序时正在复制它):
org.apache.maven.plugins
maven依赖插件
2.4
复制依赖项
包裹
复制依赖项
所以在这一点上,我看不出我做错了什么:/
这是我得到的错误日志:
使用命令java-cp target/classes:target/dependency/*test.Server启动进程
状态从启动更改为启动
org.hibernate.annotations.common.Version
信息:HCANN000001:Hibernate Commons注释{4.0.1.Final}
org.hibernate.Version日志版本
信息:hh000412:Hibernate核心{4.1.9.Final}
org.hibernate.cfg.Environment
信息:HH000206:找不到hibernate.properties
org.hibernate.cfg.Environment buildBytecodeProvider
信息:HH000021:字节码提供程序名称:javassist
org.hibernate.cfg.Configuration配置
信息:HH000043:从资源配置:/hibernate.cfg.xml
org.hibernate.cfg.Configuration getConfigurationInputStream
信息:hh000040:配置资源:/hibernate.cfg.xml
org.hibernate.cfg.Configuration doConfigure
信息:HH000041:配置的会话工厂:null
===找到驱动程序====
===========================================导出架构==========================
org.hibernate.dialogue.dialogue
信息:HH000400:使用方言:
org.hibernate.dialogue.PostgreSqlDialogue
org.hibernate.tool.hbm2ddl.SchemaExport执行
信息:HH000227:正在运行hbm2ddl架构导出
org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl
配置
信息:HH000402:使用Hibernate内置连接池(不适用于
生产使用!)
org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl
配置
信息:HH000115:休眠连接池大小:2
org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl
配置
信息:HH000006:自动提交模式:错误
org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl
配置
信息:HH000401:在URL处使用驱动程序[org.postgresql.driver]
[jdbc:postgresql://paafeblgkhhbkx:PhZEtHl2RHwbWDQJJOurmej89-@ec2-54-243-243-252.compute-1.amazonaws.com:5432/d1vsgjgnfr1koq]
org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl
配置
信息:hh000046:连接属性:{user=paafeblgkhhbkx,
密码=**}
org.hibernate.tool.hbm2ddl.SchemaExport执行
错误:HH000231:架构导出失败
java.sql.SQLException:找不到适合的驱动程序
jdbc:postgresql://paafeblgkhhbkx:PhZEtHl2RHwbWDQJJOurmej89-@ec2-54-243-243-252.compute-1.amazonaws.com:5432/d1vsgjgnfr1koq
位于java.sql.DriverManager.getConnection(DriverManager.java:640)
位于java.sql.DriverManager.getConnection(DriverManager.java:169)
在
org.hibernate.service.jdbc.connections.internal.DriverManager连接ProviderImpl.getConnection(DriverManager连接ProviderImpl.java:193)
在
org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:55)
在
org.hibernate.tool.hbm2ddl.DatabaseExporter.(DatabaseExporter.java:52)
在
org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:367)
在
org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304)
在
org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293)
在
persistance.SessionFactorySingleton.configureSessionFactory(SessionFactorySingleton.java:36)
在
persistance.SessionFactorySingleton.getSessionFactory(SessionFactorySingleton.java:61)
在persistence.Controller.beginSession(Controller.java:24)
位于persistence.Controller.sauvegarde(Controller.java:36)
保存(Controller.java:51)
在test.Server$1.handle(Server.java:44)
位于com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:83)
位于sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
位于com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:86)
在
sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:589)
位于com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:83)
位于sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:561)
在
sun.net.httpserver.ServerImpl$DefaultExecutor.execute(ServerImpl.java:137)
在
sun.net.httpserver.ServerImpl$Dispatcher.handle(ServerImpl.java:367)
位于sun.net.httpserver.ServerImpl$Dispatcher.run(ServerImpl.java:339)
运行(Thread.java:679)
谢谢你的时间 您的数据库URL有点可疑:
jdbc:postgresql://paafeblgkhhbkx:PhZEtHl2RHwbWDQJJOurmej89
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.9.Final</version>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals><goal>copy-dependencies</goal></goals>
</execution>
</executions>
</plugin>